dkfr.net
当前位置:首页 >> shEll iF 多条件判断 >>

shEll iF 多条件判断

if [ $a = "aa" -a $b = "bb" ] || [$c = "cc" -a $d = "dd" ]; then echo "success" fi 是这个意思吗

1、整数比较: [plain] view plain copy -eq 等于,如:if [ "$a" -eq "$b" ] 或 if [ $a -eq $b ] -ne 不等于,如:if [ "$a" -ne "$b" ] -gt 大于,如:if [ "$a" -gt "$b" ] -ge 大于等于,如:if [ "$a" -ge "$b" ] -lt 小于,如:if [ "$a" -lt "$b" ...

可以 cnbubble@~/test:$ cat tp.sh#! /bin/bashfor f in `ls ~/test`do if [[ "$f" == sd* ]] then echo $f fidonecnbubble@~/test:$ ./tp.shsd.fsd.insd.sh例子如上,脚本中if判断用了通配符*,打印出以sd开头的文件

#其中mkdir外面的符号是esc下来那个按键上的符号,表示执行命令#!/bin/bashif [ `mkdir -p ~/1/1` -a `mkdir ~/2` ];then echo "成立{$?}"else echo "不成立{$?}"fi

你用的什么操作系统是RedHat还是ubuntu 我觉得是你的系统问题,他默认没有使用bash shell,如果是csh,就会出错,因为语法不一样 你可以尝试运行bash sh09.sh试试 这个应该是鸟哥上的练习吧,我也做过,没有问题 我用csh 执行时,会出现错误:if:...

if [ $b -gt 0 -o $c -gt 0 -a $a -gt 0 ]; then ...... fi 对shell中的关系运算符说明如下: -gt 表示greater than,大于 -lt 表示less than,小于 -eq 表示 equal,等于 对shell中的连接符说明如下: -a 表示 and,且 -o 表示 or, 或 也可以...

判断逻辑是ok的,若grep出来为空则不存在任何问题。 只是,grep出来的有可能是多行内容,建议分开写,不要写在一行。 str=`grep ^${choice} $1`while [ "${var}" != "${choice}" -a -z "$str" ]先将grep的结果赋值给一个变量,然后变量放入双引...

bash shell 中使用圆括号做命令分组,产生子进程,效率差一点: ( [ -e /bin/bash ] || [ -e /bin/zsh ] ) && ( echo yes ) 注意方括号两端开始和结尾都必须有空格。 zsh shell 中使用花括号或者圆括号,做命令分组: { [ -e /bin/bash ] || [ -e ...

if [ "$name" = "jack" -o "$name" = "may" -o "$name" = "mary" ] 注意数据间的等号不要与数据连在一起,加上空格分开,不然会当成一个整体,不会进行比较

while read filename do done< /home/ismp/auto_dep/dep_file_name 然后sh -x yourshell 看看操作过程

网站首页 | 网站地图
All rights reserved Powered by www.dkfr.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com