1樓:匿名使用者
== 可用
於判斷變數是否相等,= 除了可用於判斷變數是否相等外,還可以表示專賦值。
= 與 == 在 [ ] 中表示判斷(字串比屬較)時是等價的,例如:
s1="foo"
s2="foo"
[ $s1=$2 ] && echo "equal"
[ $s1==$2 ] && echo "equal"
最後兩個語句是等價的
在 (( )) 中 = 表示賦值, == 表示判斷(整數比較),它們不等價,比如
((n=5))
echo $n
((n==5)) && echo "equal"
((n=5)) 表示賦值,((n==5)) 表示判斷。
2樓:
=是賦值
a =1 a的值就是1
==是比較
a == 1 a的值是否與1相等(一般放在判斷語句中)
shell指令碼里賦值運算子 =,:=,+=,?=的區別
3樓:匿名使用者
'='就是賦值運算
':='就是當冒號前面的變數不存在或值
為空時,就把等號後的值賦值給變數
'+='這個應該不用解釋吧,和c中一樣,變數等於本身和另一個變數的和'?='沒見過,不知道lz說的是不是'?',它的意思是在語句a?b中如果a未定義則用b替換a
shell中的' ' 和" "是什麼意思,有什麼區別
4樓:轉轉耳朵
在bash裡,這兩個都是抄
引號,用來表
襲明字串,區bai別是,雙du引號中的變數會被zhi,而單dao引號中不再。
舉個例子:
a="abc"
echo "str=$a" # 結果顯示 str=abcecho 'str=$a' # 結果顯示str=$a
shell裡的域分隔符理解,請問 shell b a 這個怎麼理解
shell根據ifs分割命令引數,預設的ifs是空白符 空格或tab ifs本身不會被輸出,輸出的只是分割後的引數。兩個逗號,分割後使得echo有三個引數 中間一個引數是空字串 相當於如下形式 echo 執行後得到的結果中間就是兩個空格。加了雙引號,就表示是一個字串引數,不會被ifs分割。我舉例子 ...
Shell的簡單程式設計
cat test.sh bin bash if c 1 then echo 1是字元裝置檔案 else test e 1 echo this file is not exist fiif test d 2 then echo 2是目錄檔案 for file in ls 2 c dols l file...
SHELL指令碼執行的幾種方法以及區別
2sh bash a.sh 這種情況不需要指令碼具有執行許可權 以上兩種執行方式都是在子shell中執行的,也就是說當前shell需要啟動另外一個shell,用來執行a.sh內的命令 1source a.sh 2.a.sh 注意前面的.以上兩種執行方式是在當前shell下執行,並不需要建立子shel...