首页 > 代码库 > Shell 初步

Shell 初步

下面简单介绍一下Shell 编程。shell 中用户自定义函数。先举个小例子。

#!/bin/bash

work() {
    ans=`expr $1 + $2`
    return $ans
}

genStr() {
    ans="hello bash"
    return $ans
}
work 3 4
echo $?
genStr
echo $?

i=1
((b=$i+1)) # 这里的 b=2 这样可以给i加1
echo $i 

for i in `ls`
do
if [ $i = 'hello.sh' ]
then
   echo 'yes, exists'
fi
done

对上面这段代码,做如下说明。
1:shell 中的变量的定义和引用。定义的时候前面不用$,但是引用的时候在变量前要加上$。Shell中变量的赋值,=的左右是没有空格的,所以写shell的时候,空格不能随便加。

2:shell 中的函数,参数 => $0,$1,$2 就和命令行参数一样,在调用函数的时候,内部函数的返回值用$?来表示。调用函数的时候不需要加括号。只需要函数名,和参数。

3:最后一个是shell中算数运算的例子,要用两队括号,当然,算数运算还可以实用expr 工具,见第一个函数内。

4:shell 中的 for 循环。注意do .... done 的格式。

5:shell 中的if 语句。注意 if 后面的 [] ,是后面至少要有一个空格,并且 [] 内的表达式应应该是有一个空格的, $i = ‘hello.sh‘ 。接上面提到的 = 的用法,现在可以稍微总结一  下,= 两边没有空格表示 赋值运算, 两边又空格表示逻辑运算的相等。

6:注意shell中的 if ... then ... fi 的格式。

7:shell 中是可以没有; 这个符号的,python 也有这一特点,有没有都一样,建议不加。

Shell 初步