`

Shell编程入门

 
阅读更多
引用

第一:用vi编辑shell命令
#!/bin/sh
#comments
Your commands go here
编辑完毕,将脚本存盘为filename.sh,执行脚本的时候,要先将脚本文件的属性改为可执行的:chmod +x filename.sh
执行脚本的方式:./filename.sh
例如:打印helloworld
#!/bin/sh
#print hello world in the console window
a = "hello world"
echo $a
第二:一些基本语法
echo "Hi, $as"就不会输出“Hi, hello worlds”,而是输出“Hi,”。这是因为Shell把$as当成一个变量,而$as未被赋值,其值为空。正确的方法是:echo "Hi, ${a}s"
if语句:if …; then



elif …; then



else



fi
[ -f "$file" ] 判断$file是否是一个文件

[ $a -lt 3 ] 判断$a的值是否小于3,同样-gt和-le分别表示大于或小于等于

[ -x "$file" ] 判断$file是否存在且有可执行权限,同样-r测试文件可读性

[ -n "$a" ] 判断变量$a是否有值,测试空串用-z

[ "$a" = "$b" ] 判断$a和$b的取值是否相等

[ cond1 -a cond2 ] 判断cond1和cond2是否同时成立,-o表示cond1和cond2有一成立
例子:if [ $# -lt 3 ]; then
if [ -f "$file" ]; then
if [ -f "$newfile" ]; then

循环语句:
while [ cond1 ] && { || } [ cond2 ] …; do



done

for var in …; do



done

for (( cond1; cond2; cond3 )) do



done

until [ cond1 ] && { || } [ cond2 ] …; do



done
例子:20 # $* contains now all the files:
21 for file in $*; do
case语句:
while getopts vc: OPTION

do

case $OPTION in

c) COPIES=$OPTARG

     ehco "$COPIES";;

v) echo "suyang";;

\?) exit 1;;

esac

done
上面的getopts类似于C语言提供的函数getopts,在Shell Script中,getopts经常和while语句联合起来使用。getopts的语法如下:

getopts option_string variable

第三,调试:
我们也可以在Shell下调试Shell Script脚本,当然最简单的方法就是用echo输出查看变量取值了。Bash也提供了真正的调试方法,就是执行脚本的时候用-x参数。

sh ?x filename.sh

这会执行脚本并显示脚本中所有变量的取值,也可以使用参数-n,它并不执行脚本,只是返回所有的语法错误。
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics