shell變數的值中如果有空格,linuxfor迴圈變數中有空格怎麼處理

2021-05-30 12:07:58 字數 1186 閱讀 5230

1樓:匿名使用者

echo會把多餘的抄空格消

bai去,要想顯示全部用」「把

du值包括進來zhi

如:a="a b c"

echo $a

顯示為dao a b c

echo "$a"

顯示為a b c

linux for迴圈變數中有空格怎麼處理

2樓:

這個需要更改 shell分隔符為換行

在for迴圈

之前修改ifs變數

ifs=$'\n'

oldifs="$ifs"

for i in `find . `

doecho "$i"

done

ifs="$oldifs"

這樣迴圈就會以換行作為版單詞分界.你的檔名如權果出現換行,那就無能為力。

雖然linux 支援檔名包含特殊字元

但並不推薦,會導致別的指令碼出錯誤。通常用下劃線或**代替空格。

還有一種用

find some|while read idoecho "$i"

done

用read i,每個迴圈讀取一行,等價與用換行作為分隔符。

記得采納

shell裡面如何給一個變數補空格,並存入變數

3樓:匿名使用者

我的可以輸出空格啊,

[root@xiao ~]# test=`printf "%4d\n" 1`

[root@xiao ~]# echo "$test"

1你可以把test=」`printf "%4d\n" 1`「 也加上雙引號試試。

4樓:匿名使用者

echo "$test"不會保留空格 echo $test不會保留空格。「」會保持變數的原態,部分不會保持原態**義)而''會完全保持原態echo '$test'會輸出$test。如果什麼都不加變數會自動過濾一些特殊字元。

變數的狀態是不可知的。雙引號作用是變數替換是不被阻止的。所以雙引號稱為部分引用。

單引號作用會把變數替換完全被禁止。變數名只會被解釋稱字面意思。不會發生變令替換。

所以被成為全部引用。

中超冠軍有獎金嗎如果有,是多少,中超球隊的獎金怎麼分

歐冠獎抄 金歐洲冠軍盃襲獎金分配原則為 參加第一階段小組賽球隊可以獲得基本獎金170萬歐元,每場比賽出場費34萬歐元,這樣參加全部六場小組賽下來就可以保證至少370萬歐元的收入。除此以外,每獲勝一場可以再獲得34萬歐元,平一場可得17萬歐元,如果小組賽全部獲勝就可以獲得接近600萬歐元的收入 如進入...

如果有理數的絕對值等於它的相反數,那麼這個數是A 1B 0C 1D都不

設這個有理數是我,則根據題意有 我 我,因此我 x,即這個有理數是非正數 故選d 如果一個有理數的絕對值等於它的相反數,那麼這個數是 a 1 b 0 c 1 d 以上都不對 只要是負的有理數和0他的絕對值就等於它的相反數,所以選擇d,a和b不全面 因為 1是有理數,故選a 1 如果一個有理數的絕對值...

類似群中的兩個商品不近似的話,如果有人已經註冊了商品,我還可以用近似的商標註冊另商品嗎

商品來類似與否取決於國際通用 自的類似商品和服bai務區分表。比du如玩具是屬於第28類02小組的zhi產品,那麼只dao要該商標有人申請註冊了,其他人就不可以用近似的商標去註冊同樣屬於第28類02小組中的其他產品。也不是說商標有近似的就不可以註冊。因為一個商標申請註冊的成功與否取決於很多因素,只要...