标签:
第一个 shell #!/bin/bash echo "Hello World !" “#!” 固定标记 用来指定脚本用哪个解释器来解析 脚本必须要有执行权限 chmod +x ./test.sh 增加执行权限 ./test.sh 执行脚本 ( 执行脚本 输入 ./test.sh 而不是 test.sh ) 定义变量 定义变量时 变量名不加美元符号 $ 如 : variableName="value" 注意 变量名和等号之间不能有空格 命名规则 首个字符必须为字母 (a-z,A-Z) 中间不能有空格 可以使用下划线 ( _ ) 不能使用标点符号 不能使用bash里的关键字 ( 可用help命令查看保留关键字 ) 使用变量 使用一个定义过的变量 只要在变量名前面加美元符号 $ 如: echo $your_name echo ${your_name} 变量外边的 {} 可选的 加不加都行 帮助解释器识别变量 如 : echo "this is a ${one}abc" 推荐给所有变量加上花括号 只读变量 使用 readonly 命令可以将变量定义为只读变量,只读变量的值不能被改变 myUrl="abc" readonly myUrl myUrl="drf" 运行则会报错 : This variable is read only. 删除变量 使用 unset 命令可以删除变量 unset variable_name 变量类型 运行shell时,会同时存在三种变量 1) 局部变量 局部变量在脚本或命令中定义,仅在当前shell实例中有效,其他shell启动的程序不能访问局部变量 2) 环境变量 所有的程序,包括shell启动的程序,都能访问环境变量,有些程序需要环境变量来保证其正常运行。必要的时候shell脚本也可以定义环境变量 3) shell变量 shell变量是由shell程序设置的特殊变量。shell变量中有一部分是环境变量,有一部分是局部变量,这些变量保证了shell的正常运行 shell参数 执行脚本时可向脚本内传入参数 如 : ./test.sh aaa bbb 传入两个参数 第一个 aaa 第二个 bbb 脚本内使用参数 使用 $n n是一个数字 表示第几个参数 例如 第一个参数是$1 第二个参数是$2 特殊变量 $0 当前脚本的文件名 $n 传递给脚本或函数的参数。n 是一个数字,表示第几个参数。例如,第一个参数是$1,第二个参数是$2 $# 传递给脚本或函数的参数个数。 $* 传递给脚本或函数的所有参数。 $@ 传递给脚本或函数的所有参数。被双引号(" ")包含时,与 $* 稍有不同,下面将会讲到 $? 上个命令的退出状态,或函数的返回值 $$ 当前Shell进程ID。对于 Shell 脚本,就是这些脚本所在的进程ID $* 和 $@ 的区别 $* 和 $@ 都表示传递给函数或脚本的所有参数,不被双引号(" ")包含时,都以"$1" "$2" … "$n" 的形式输出所有参数。 但是当它们被双引号(" ")包含时,"$*" 会将所有的参数作为一个整体,以"$1 $2 … $n"的形式输出所有参数;"$@" 会将各个参数分开,以"$1" "$2" … "$n" 的形式输出所有参数
标签:
原文地址:http://www.cnblogs.com/thinkxmg/p/4760123.html