一. Bash Shell的常用语句1. echo
功能:显示变量值/字符串
格式:echo [参数] 字符串参数:-n 显示字符串且不换行,默认echo显示字符串之后立即换行实例:echo -n “abc”2. expr功能:计算表达式格式:expr 表达式实例:expr 10 \* 23. read功能:从键盘获取变量的值格式:read 变量名实例:read aread bc=$a+$becho $c4. test功能:测试表达式的真假(等同于[ ])格式:test 表达式5. if功能:条件分支选择格式: if 条件表达式then条件为真时的命令串else条件为假时的命令串fi实例: if [ -x /sbin/quotaon ] then/sbin/quotaon –avug elseecho “quotaon no exists.”fi6. case 功能:多路分支 格式:Case 参数 in值1)语句1;;值2) 语句2;; 、、、、、*)语句N;; esac 实例: #vi /etc/quotaman #! /bin/bash case “$1” in start) /sbin/quataon –avug stop) /sbin/quotaoff –avug restart) /sbin/quotaoff –avug /sbin/quotaon -avug *) echo “enter start/stop/restart” esac7. for 功能:循环执行多条语句 格式:for 参数 [in 字符串]do
循环体 done 实例: for i in /bin/*do echo $idone8. while功能:实现条件循环,当条件为真时执行循环体格式:while〔条件/命令〕do循环体done实例:while [“$a” = “$b” ]dosleep 5done 9. until功能:实现条件循环,当条件为假时执行循环体格式:until [条件/命令]do循环体done实例:myvar=0 until [ $myvar -eq 10 ] do echo $myvar myvar=$(( $myvar + 1 )) done 10. 函数格式:〔function〕函数名(参数){函数体}实例:#! /bin/bashstart( ){ if [ -x /sbin/quotaon ] then /sbin/quotaon –avugfi}stop (){if [ -x /sbin/quotaoff ]then/sbin/quotaoff –avugfi}restart(){stopstart}case $1 instart)startstop)stoprestart)restart*)echo “error!!!!!!!”esac11. exit功能:退出脚本文件格式:exit (0或1)实例:if [ -f /etc/sysconfig/network ]then/etc/rcd/init.d/network startelseexit 1fi12. break功能:退出循环格式:break13. continue功能:继续下一次循环格式:continue14. exec 功能:调用其它命令,且不创建新进程格式:exec 命令while
[
$#
-ne
0
]
do
echo
$1
shift
done
shift移除第一个参数,比如有$#
==
3,分别是
$1
$2
$3
shift之后,$#
==
2,
$2变为$1,$3变为$2.
关于参数传递:
假我要获取/home某目录text.txt文件某目录我原先知道所需要先使用:
ls -l /home
获取/home目录信息
现需要ls -l /homels -l $filenamemore text.txt三命令写同shell
该写$filename传递
写简单程序
#!/bin/bash
i=0
while [$i]
do
echo "$i"
done
程序始报错:
snytax error near unexpected token 'do'
并且管我写任何内容要while控制语句报种错误
我程序问题linux问题
评论列表(0条)