shell和號的區別,shell指令碼里賦值運算子,,,的區別

2021-05-22 12:12:24 字數 987 閱讀 7829

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