shell 中使用
ssh -t hostip cat filename | grep keyword | awk ''
方式獲取遠端檔案中配置的值,並拿來進行大小比較或數**算時,會報錯如下:
通過 test/ 判斷兩個數字變數的大小:
if [ $ -eq $ ];
報錯:
: integer expression expected
通過 bc 判斷兩個數字變數的大小:
result=$(echo "$==$" | bc)
報錯:
(standard_in) 1: illegal character: ^m
原因:
通過 ssh -t 執行返回的結果其換行符為 "\r\n"
shell 中 test//bc 均無法進行處理,故而報錯。
解決辦法,刪除字串中的\r即可
ssh -t hostip cat filename | grep keywork | awk '' | tr -d $'\r'
orssh -t hostip cat filename | grep keywork | awk '' | sed 's/\r//g'
shell變數 比較
記錄下來,不常用就會忘 注意 這裡的空格很重要。要確保方括號的空格,前後都要有。if then elif then else fi f somefile 判斷是否是乙個檔案 x bin ls 判斷 bin ls是否存在並有可執行許可權 n var 判斷 var變數是否有值 a b 判斷 a和 b是否...
shell中數字大小的比較
整數之間的比較 示例指令碼 bin bash if 1 gt 2 then echo 引數 1大於引數 2 else echo 引數 1小於引數 2 fi數字判斷一些命令 gt是大於 lt是小於 eq是等於 ne是不等於 ge是大於等於 le是小於等於 小數及整數之前的比較 示例指令碼 a 1.6 ...
shell中數字大小的比較
整數之間的比較 示例指令碼 bin bash if 1 gt 2 then echo 引數 1大於引數 2 else echo 引數 1小於引數 2 fi數字判斷一些命令 gt是大於 lt是小於 eq是等於 ne是不等於 ge是大於等於 le是小於等於 小數及整數之前的比較 示例指令碼 a 1.6 ...