Shell 脚本入二

shell脚本:


脚本语言:

不需编译,由解释器解释执行;

弱类型:变量类型

变量通常不需要事先声明


编译语言 (gcc: GNU C Complier)

事先编译(源程序-->目标代码-->链接-->执行);运行时不再依赖于编译器;

强类型

变量需要事先声明


脚本语言:bash, python, perl, ruby


bash:面向过程


变量类型:

本地变量

set VAR_NAME=value

unset VAR_NAME

${VAR_NAME}

作用范围:当前shell进程;

局部变量

local VAR_NAME=value

unset VAR_NAME

${VAR_NAME}

作用范围:在当前shell进程的局部范围内有效;

环境变量

export VAR_NAME=value

unset VAR_NAME

${VAR_NAME}

使用范围:当前shell及其子shell;

位置变量:$1, $2, ...

特殊变量:$$, $?, $#, $@, ...


bash脚本:

# bash /path/to/script_file.sh


独立执行:

1、要有执行权限;

2、定义好shebang, 即脚本的第一行:#!/path/to/explainer,例如:/bin/bash, /usr/bin/python


/root/a.sh


# /root/a.sh: 所有命令都会到PATH环境变量所定义的路径下去查找;

# export PATH=$PATH:/root


bash的配置文件

profile类:/etc/profile, /etc/profile.d/*.sh, ~/.bash_profile

声明环境变量

执行程序或脚本

bashrc类:/etc/bashrc, ~/.bashrc

定义本地变量

定义命令别名


user1, user2, user3


密码同用户名


脚本文件中,所有以#开头的行均为注释行,不会被执行;


检查脚本的语法错误,不执行脚本:

bash -n /path/to/script_file.sh


调试执行脚本:

bash -x /path/to/script_file.sh


变量名称:

只能包含字母、数字和下划线

不能以数字开头

严格区分大小写

要做到见名知义

命名规范,风格统一


面向过程的编译语言,语言控制结构:

顺序执行:默认法则,逐条执行各语句

选择执行:条件判断,只有部分是符合条件,只执行符合条件的部分;

布尔测试:真,假;

0:真

1-255:假

循环执行:将同一段代码反复执行n次;循环必须要有退出条件,否则,就成为了死循环;



控制语句:

bash循环控制语句:

for

while

until


你可能感兴趣的:(python,Export,编译器,解释器,源程序)