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 ]]