Linux学习笔记(3)

Shell编程学习笔记

条件判断

1)-n:字符串不为null时为true

if [ -n "$str" ]; then
    echo "not null"
fi

2)-z:字符串为null或空字符串时为true

if [ -z "$str" ]; then
    echo "null or empty string"
fi

3)-f:文件存在时返回true

if [ -f "$temp_file" ]; then
    echo "File exists"
fi

 

特殊意义的符号

1. $$:Shell script执行时的进程编号,一般用于临时文件的后缀。

temp_file=/tmp/temp_file_$$

2. $*:存放传入Shell script的所有参数,以IFS的第一个字符作为分隔符。$IFS是Input Field Separator,shell读取输入时使用IFS作为分隔符。

3. $@:与$*一样,唯一不同的是以一个空格作为分隔符。

4. $#:传入Shell script的参数个数。

5. $n(n为数字1,2,3...):按照位置获取传入Shell script的参数

bash test.sh one two three

则$1为one,$2为two等等。

 

函数

1. 函数声明

say_something() {
    echo $*
}

 

在Shell script中调用函数时只需要写出函数的名称即可,不许要在后面加上括号,传递给函数的参数直接列在函数名称后面。

例如调用上面的函数:

1. function_name $para_one $para_two

2. function_name "hello" "world"

 

字符串替换

1. ${param%%word}:从后面开始,删除掉param中匹配word的最长的部分,返回余下的字符。

2. ${param##word}:从前面开始,删除掉param中匹配word的最长的部分,返回余下的字符。

 

 

posted @ 2013-11-19 18:01  StrikeW  阅读(204)  评论(0编辑  收藏  举报