shell脚本判断相等
A. shell 脚本 == 和= 什么区别
==可用于判断变量是否相等,=除了可用于判断变量是否相等外,还可以表示赋值。
=与==在[]中表示判断(字符串比较)时是等价的,例如:
s1="foo"
s2="foo"
[$s1=$2]&&echo"equal"
[$s1==$2]&&echo"equal"
最后两个语句是等价的
在 (( )) 中 = 表示赋值, == 表示判断(整数比较),它们不等价,比如
((n=5))
echo$n
((n==5))&&echo"equal"
((n=5))表示赋值,((n==5))表示判断。
说==是相等,=是赋值,那是针对C/C++语言的
B. shell脚本中 if 判断时候-s是什么意思
指的是文件大小非0时为真。
C. shell如何比较 两个字符串是否相等
只需要一个等号吧。
#!/bin/sh
var1="xxx"
var2="yyy"
if [ "$var1" = "$var2" ]; then
echo "The same!"
else
echo "Different!"
fi
D. SHELL脚本判断文件里有没有重复内容
遍历文件,用key计数,如果大于1就代表有重复
awk -F"=" 'BEGIN{i=0;j=0}{a[i++]=$0;b[j++]++}END{for (i=1;i<NF;i++){if(b[i]>1) print a[i]":"b[i] }}'
E. shell if else 判断两数相等
if [$x -eq $y]
------------if [ $x -eq $y ] ----------[] 两边都要有空格
echo "input two number:"
read x
read y
if [ $x -eq $y ]
then
echo "equal!"
else
echo "not equal"
fi
F. shell如何判断两个含特殊字符的字符串变量是否相等
把其他程序的返回重定向到临时文件。
用命令cmp比较临时文件。(cmp -s "$file1" "$file2")
测试cmp的退出码。
G. shell中如何判断字符串相等,有问题
if [ "串1" = "串2" ];then
fi
H. shell 循环比对变量是否相等
awk'NR==FNR{a[FNR]=$0;next}$0==a[FNR]{print"compareresponse_infopass
"}$0!=a[FNR]{print"Compareresponse_infoerror"
}'old_infonew_info
或者
pasteold_infonew_info|awk'$1==$2{print"compareresponse_infopass
"}$1!=$2{print"Compareresponse_infoerror"
}'
我没试 大概这个思路吧 你试试
I. linux:这个shell脚本为什么结果是判断得到相等呢求解
语法错误,你的脚本是将 2 赋给变量 22了,如果要得到正确的结果应该是
if[[22-eq2]];thenecho"==";elseecho"!=";fi
J. linux shell编程 if语句无法判断变量是否相等
(($num1 != $num2))里面的是算术表达式
用(($num1 - $num2))
或者[ [ $num1 != $num2 ]]