不能unset
your_name="qinjx" echo $your_name echo ${your_name}
for skill in Ada Coffe Action Java; do echo "I am good at ${skill}Script" done
#!/bin/bash myUrl="http://www.google.com" readonly myUrl myUrl="http://www.runoob.com" ####### # $/bin/sh: NAME: This variable is read only.
局部变量
局部变量在脚本或命令中定义,仅在当前shell实例中有效,其余shell启动的程序不能访问局部变量。环境变量
全部的程序,包括shell启动的程序,都能访问环境变量,有些程序须要环境变量来保证其正常运行。必要的时候shell脚本也能够定义环境变量。shell变量
shell变量是由shell程序设置的特殊变量。shell变量中有一部分是环境变量,有一部分是局部变量,这些变量保证了shell的正常运行全部的程序,包括shell启动的程序,都能访问环境变量,有些程序须要环境变量来保证其正常运行。必要的时候shell脚本也能够定义环境变量。shell
#-------------------------------------------- # 这是一个注释 # author:菜鸟教程 # site:www.runoob.com # slogan:学的不只是技术,更是梦想! #-------------------------------------------- ##### 用户配置区 开始 ##### # # # 这里能够添加脚本描述信息 # # ##### 用户配置区 结束 #####
多行注释编程
:<<EOF 注释内容... 注释内容... 注释内容... EOF
:<<' 注释内容... 注释内容... 注释内容... ' :<<! 注释内容... 注释内容... 注释内容... !
#!/bin/bash echo "Shell 传递参数实例!"; echo "执行的文件名:$0"; echo "第一个参数为:$1"; echo "第二个参数为:$2"; echo "第三个参数为:$3"; :<<! chmod +x test.sh $ ./test.sh 1 2 3 Shell 传递参数实例! 执行的文件名:./test.sh 第一个参数为:1 第二个参数为:2 第三个参数为:3 !
参数处理 | 说明 |
---|---|
$# | 传递到脚本的参数个数 |
$* | 以一个单字符串显示全部向脚本传递的参数。如"$*"用「"」括起来的状况、以"$1 $2 … $n"的形式输出全部参数。 |
$$ | 脚本运行的当前进程ID号 |
$! | 后台运行的最后一个进程的ID号 |
$@ | 与$*相同,可是使用时加引号,并在引号中返回每一个参数。如"$@"用「"」括起来的状况、以"$1" "\(2" … "\)n" 的形式输出全部参数。 |
$- | 显示Shell使用的当前选项,与set命令功能相同。 |
$? | 显示最后命令的退出状态。0表示没有错误,其余任何值代表有错误。 |
#!/bin/bash echo "Shell 传递参数实例!"; echo "第一个参数为:$1"; echo "参数个数为:$#"; echo "传递的参数做为一个字符串显示:$*"; :<<! $chmod +x test.sh $./test.sh 1 2 3 Shell 传递参数实例! 第一个参数为:1 参数个数为:3 传递的参数做为一个字符串显示:1 2 3 !