shell脚本语法及结构
shbang行 shbang行是脚本的第一行,通知内核使用哪种shell去执行脚本;
#!/bin/csh
注释 注释油一个符号#后跟一些描述性的说明,注释掉的语句将不执行操作;
# this is a comment
通配符 shell中有些字符的意义比较特殊,它们被称作是shell元字符或通配符。如:
*、?和[]常用语文件名扩展;!是历史命令符;<、>、>>、<&和|符则用于标准I/O重定向管道。
为了防止这些字符被shell解释,他们必须用反斜杠或者引号进行引用。
rm *; ls ??; cat file [1-3];!!
echo “how are you?”
echo oh boy\!
显示输出
echo命令用户向屏幕显示输出。
echo “hello word \!”
局部变量 局部变量的作用域被限定在当前的shell中。
set ariable_name = value
set name = “Admin”
全局变量 全局变量又称环境变量。
setenv VARIABLE_NAME value
setenv PRINTER Shakespeare
提取变量值 可以使用$从变量中提取数值;
echo $variable_name
echo $name
echo $PRINTER
读取用户输入 特殊变量$<从用户输入中读取一行并将它赋值给一个变量
echo “who are you?”
set name = $<
参数 可以从命令中传递参数给脚本;得到它们的值有两种方法:位置参数和argv数组。
% scriptname arg1 arg2 arg3 ……
使用位置:
echo $1 $2 $3 arg1赋给$1,arg2赋给$2等;
echo $* 所有参数
使用argv数组:
echo $argv[1] $argv[2] $argv[3]
echo $argv[*] 所有参数
echo $#argv 参数个数