用wordpress建立的网站吗,别墅装修一般多少钱一套,建筑网址大全,投放广告怎么投放1、While循环
while循环构造用于多次运行某些指令。查看以下名为while.sh的脚本#xff0c;以更好地理解此概念。
#!/bin/bash
i0while [ $i -le 2 ]
do
echo Number: $i
((i))
done
因此#xff0c;while循环采用以下形式。
while [ condition ]
do
commands 1
commands…1、While循环
while循环构造用于多次运行某些指令。查看以下名为while.sh的脚本以更好地理解此概念。
#!/bin/bash
i0while [ $i -le 2 ]
do
echo Number: $i
((i))
done
因此while循环采用以下形式。
while [ condition ]
do
commands 1
commands n
done
方括号周围的空格是必填的。
2、For循环
for循环是另一种广泛使用的bashshell构造它允许用户高效地迭代代码。下面演示了一个简单的示例。
#!/bin/bashfor (( counter1; counter10; counter ))
do
echo -n $counter
doneprintf \n 3.接收用户输入
#!/bin/bashecho -n Enter Something:
read somethingecho You Entered: $something 4、If语句
if CONDITION
then
STATEMENTS
fi
只有当条件为真时才会执行这些语句。fi关键字用于标记if语句的结尾。下面显示了一个快速示例。
#!/bin/bash echo -n Enter a number: read num if [[ $num -gt 10 ]] then echo Number is greater than 10. fi 如果通过输入提供的数字大于10上述程序将仅显示输出。-gt表示大于类似地-lt表示小于-le表示小于等于且-ge表示大于等于。此外还需要[[]]。
5、使用echo打印
echo命令用于在bash中打印信息。它类似于C函数“printf”并提供了许多常见选项包括转义序列和重定向。将以下行复制到名为echo.sh的文件中并使其可执行如上所述。
#!/bin/bash
echo Printing text
echo -n Printing text without newline
echo -e \nRemoving \t special \t characters\n
运行脚本以查看其功能。-e选项用于告诉echo传递给它的字符串包含特殊字符需要扩展功能。
echo(选项)(参数)选项
-e激活转义字符。使用-e选项时若字符串中出现以下字符则特别加以处理而不会将它当成一般文字输出
•\a 发出警告声 •\b 删除前一个字符 •\c 最后不加上换行符号 •\f 换行但光标仍旧停留在原来的位置 •\n 换行且光标移至行首 •\r 光标移至行首但不换行 •\t 插入tab •\v 与\f相同 •\\ 插入\字符 •\nnn 插入nnn八进制所代表的ASCII字符 参数
变量指定要打印的变量。
实例
用echo命令打印带有色彩的文字
文字色
echo -e \e[1;31mThis is red text\e[0m This is red text•\e[1;31m 将颜色设置为红色 •\e[0m 将颜色重新置回 颜色码重置0黑色30红色31绿色32黄色33蓝色34洋红35青色36白色37
背景色
echo -e \e[1;42mGreed Background\e[0m Greed Background颜色码重置0黑色40红色41绿色42黄色43蓝色44洋红45青色46白色47
文字闪动
echo -e \033[37;31;5mMySQL Server Stop...\033[39;49;0m 红色数字处还有其他数字参数0 关闭所有属性、1 设置高亮度加粗、4 下划线、5 闪烁、7 反显、8 消隐
echo -n 不换行输出 $echo -n 123 $echo 456
最终输出 123456
6、使用If Else进行更多控制
将else构造与if结合起来可以更好地控制脚本的逻辑。下面显示了一个简单的示例。
#!/bin/bashread n
if [ $n -lt 10 ];
then
echo It is a one digit number
else
echo It is a two digit number
fi
其他部分需要放在if的动作部分之后和fi之前。
7、应用案例
需求判断当前主机是否和远程主机是否ping通
#!/bin/bash
# 该脚本用于判断当前主机是否和远程指定主机互通read -p 请输入你要ping的主机的IP: ip# 使用ping程序判断主机是否互通
ping -c1 $ip /dev/nullif [ $? -eq 0 ];thenecho 当前主机和远程主机$ip是互通的elseecho 当前主机和远程主机$ip不通的
fi
逻辑运算符 test $? -eq 0 echo 当前主机和远程主机$ip是互通的 || echo 当前主机和远程主机$ip不通的
8、应用案例
需求判断你输入的字符是数字、字母还是其他字符。 [rootserver2 ~]# vi case.sh
[rootserver2 ~]# chmod x case.sh
[rootserver2 ~]# ./case.sh#!/bin/bash
# 判断输入的字符是哪种类型
read -p 请输入一个字符并按enter回车确认 key
case $key in[a-z]|[A-Z]) 匹配任意字母echo 您输入的是字母. ;;[0-9]) 匹配任意数字echo 您输入的是数字.;; *) 匹配任意字符 echo 您输入的是空格功能键其它控制字符.
exit 1
esac