shell详解四

1.命令
shell脚本程序内部执行两类命令,一类是可以在命令提示符中执行的普通命令,也成为外部命令。一类是我们提到的内置命令,也称内部命令。
1)break命令

用这个命令在控制条件未满足之前,跳出for,while,或until循环。可以用break命令提供一个额外的数值参数来表明所要跳出的循环成熟,在默认情况下,break只跳出一层循环。



#!/bin/sh

rm  -rf   fred*
echo >  fred1
echo > fred2
mkdir  fred3
echo > fred4

for  file   in  fred*
do 
       if [ -d "$file" ] ;then
       break
       fi
done

echo  first dirctory  starting fred was $file
rm -rf fred*
exit 0

2. :命令
冒号:命令是一个空命令。相当一个true的一个别名。由于它是内置命令,所以它运行的比true快,但它的输出可读性较差。
:结构也会被用在变量的条件设置中。
: ${var :=value}


3.continue命令
非常类似c语言中的同名语句,这个命令使for,while或untill循环跳到下一次循环继续执行,循环变量取循环列表中的下一个值。


#!/bin/sh

rm  -rf  fred*
echo > fred1
echo > fred2
mkdir  fred3
echo  > fred4

for  file in fred*
do
      if  [  -d  "$file" ] ; then
             echo  "skipping directory $file"
             continue
       fi
       echo file is $file
       done
    rm  -rf  fred*
exit 0

4. . 命令
点(.)命令用来执行当前shell中的命令。


5 echo命令
一个常见的问题是如何去掉换行符,linux常用的方法是:
echo -n "string to output"
但是经常遇到:
echo -e "string to output\c"


6. eval命令
eval命令允许对参数进行求值。

foo=10
x=foo
y='$'$x
echo $y

它输出"$foo",而
foo=10
x=foo
eval y='$'$x
echo $y
它输出10


7.exec命令
exec命令有两种不同用法。它的典型用法是将当前shell替换为一个不同的程序。
exec wall "Thanks for all the fish"
脚本中的这个命令会用wall命令替换当前的shell。脚本程序中exec命令后面的代码都不会执行,因为执行这个脚本的shell已经不存在了。
exec的第二种用法是修改当前文件描述符:

exec 3


8.exit n命令
exit命令使脚本程序以退出码n结束运行。在shell脚本编程中,退出码0表示成功,退出码1~125是脚本程序使用的错误代码。其余数字具有保留含义。

退出码 说明
126 文件不可执行
127 命令未找到
128及以上 出现一个信号

你可能感兴趣的:(linux,c)