现在的位置: 首页 > 综合 > 正文

Linux 学习笔记_10_Shell编程_2_Shell编程语法(三)

2014年07月22日 ⁄ 综合 ⁄ 共 1162字 ⁄ 字号 评论关闭

三、select/in 【用的相对来说比较少】
格式: select 变量 in 关键字 
do 
command 1 
... ... 
command n 
done 
select把关键字中的每一项做成类似表单,以交互的方式执行do和done之间的命令。
【示例】
  #!/bin/bash 
  # A test for select 
echo "What's your favorite OS?" 
echo 
select name in "UNIX" "Linux" "Windows" "Others" 
do 
  break 
done 
echo "Your select is $name" 

四、case/esac
格式: case 变量 in 
字符串1) 
命令列表1 
;; 
... 
字符串n) 
命令列表n 
;; 
esac 

五、while
格式: while 条件 
do 
命令 
done 
【无限:whill true】
【示例】
#! /bin/sh 
num=1 
while [ $num -le 10 ] 
do 
SUM=`expr $num \* $num` 
echo $SUM 
num=`expr $num + 1` 
done 

六、untill
格式: until 条件 
do 
命令 
done 
until类似while循环,不同的是until是条件返回值为假时才继续执行。
【示例】
#!/bin/bash 
# A test for until 
until [ -x /etc/inittab ] 
do 
ls -l /etc/inittab 
exit 0 
done 

七、跳出循环:break和continue 
break:跳出整个循环 
continue:跳过本次循环,进行下次循环

八、shift
参数左移,每执行一次,参数序列顺次左移一个位置,$#的值减1, 用于分别处理每个参数,移出去的参数不再可用
【示例】
#! /bin/sh 
if [ $# -le 0 ] 
then 
echo "Not enough parameters" 
exit 0 
fi 
sum=0 
while [ $# -gt 0 ] 
do 
sum=`expr $sum + $1` 
shift 
done 
echo $sum 

函数应用

一、函数的定义: 
函数名 () 

命令序列 

二、函数的调用:不带() 
函数名 参数1 参数2 ... 

三、函数中的变量: 
变量均为全局变量,没有局部变量

四、函数中的参数:
调用函数时,可以传递参数,在函 数中用$1、$2...来引用 
Shell 脚本调试 
sh -x script 这将执行该脚本并显示所有变量的值。 
sh -n script 不执行脚本只是检查语法的模式,将返回 所有语法错误。 
【命令最好使用绝对路径!】

【不用交互方式添加用户】
useradd mery
echo 123456 | passwd --stdin mery

【执行脚本所需要的权限】
1、该脚本拥有r权限 【不给x权限可以用sh执行】
2、对脚本所在目录有rx权限

抱歉!评论已关闭.