单括号和双括号都可以跟$结合使用, 前者括号中要跟命令, 表示命令执行结果, 而双括号是跟计算表达式. x=y 在不同位置的含义? 当x=y单独在一个行, 表示一个命令的时候, 它表示是跟x变量赋值. 可以给"字符串", 也可以给"数字字符串"都是可以的, 默认的都是作为字符串看待的 但是当 x=y 在if条件判断...
gawk'{if ($1 > 20){x = $1 * 2print x}'data4 实例 gawk的if语句也支持else子句,允许在if语句条件不成立的情况下执行一条或多条语句。这里有个使用else子句的例子。 gawk'{if ($1 > 20){x = $1 * 2print x} else{x = $1 / 2print x}}'data4 实例 可以在单行上使用else子句,但必须在...
if [ int1 -eq int2 ] 如果int1等于int2 if [ int1 -ne int2 ] 如果不等于 if [ int1 -ge int2 ] 如果>= if [ int1 -gt int2 ] 如果> if [ int1 -le int2 ] 如果<= if [ int1 -lt int2 ]如果< 3、文件的判断 [ -b FILE ] 如果 FILE 存在且是一个块特殊文件则为真。 [ ...
当有多步判断的时候,可以使用if嵌套 1、多步判断 类似于多条件if2、依赖执行的环境 configure->make->make install 6.1、使用if嵌套if的方式判断两个整数的关系 代码语言:javascript 复制 #!/bin/bash#Author:#Created Time:#Script Description:if[$1-ne $2]thenif[$1-gt $2]then echo" $1 > $2 "el...
if[x$1 = x];中$1表示运行shell时传的第一个参数。即:如果有一个shell文件名为test.sh那么运行命令为 ./test.sh a b 其中a为第一个参数b为第二个参数$1就代表的是a这个字母。在if[x$1 = x];中实际就会判断 xa = x 这样写的主要目的是当如果写成["$1" = "$2" ] 在 $1...
chmod a+x /mnt/cpuTest.pl 将其设置为系统命令的方式有如下两种: 方式一: cp /mnt/cpuTest.pl /usr/bin/ ---复制到系统命令的所在目录下 缺点:自定义脚本与系统命令不分离,难以区分,扰乱原有的系统命令;不便于管理和查找。 方式二: 常用 PATH="$PATH:/mnt" ---在PATH变量后追加上脚本所在的目录 ...
脚本要使用nmap命令,首先用yum -y install nmap安装。 apache服务也是yum安装。 [root@xiaopeng ~]# cat autostart.sh #!/bin/bash port=$(nmap -sT 192.168.22.222 | grep tcp | grep http | awk '{print $2}') if [ "$port" == "open" ] ...
if [ -s file ] 如果文件存在且非空 if [ -r file]如果文件存在且可读 if [ -w file]如果文件存在且可写 if [ -x file]如果文件存在且可执行 整数变量表达式 if [ int1 -eq int2 ] 如果int1等于int2 if [ int1 -ne int2 ] 如果不等于 ...
8.If语句 只有当条件为真时,才会执行这些语句。fi关键字用于标记if语句的结尾。下面显示了一个快速示例。 如果通过输入提供的数字大于10,上述程序将仅显示输出。-gt表示大于;类似地-lt表示小于-le表示小于等于;且-ge表示大于等于。此外,还需要[[]]。
x=10y=5if[ $x -gt $y ];then#注意表达式还能这样写if(( $x > $y ));then效果也是一样的而且更方便于记忆echo"真"elseecho"假"fi#结果返回真 -gt是左边大于右边,返回真 同>-lt是小于 同<-eq是等于 同=-ne是不等于 同!=-ge是大于等于 同>=-le是小于等于 同<= ...