linux shell:這里的%% * 是什么意思?
1 回答

GCT1015
TA貢獻1827條經(jīng)驗 獲得超4個贊
${LINE%% *}的意思就是從LINE這個變量的值中,從后面開始以最長匹配刪去%%后面的表達式內(nèi)容。
從你的shell看,wc -l的結(jié)果是行數(shù)+空格+文件名,你的匹配項是'空格*',那么從后面開始的最長匹配就是行數(shù)后面的所有內(nèi)容,也就是說,這個表達式最終的結(jié)果是產(chǎn)生命令行參數(shù)所帶文件的行數(shù)。
看一下man bash可以找到詳細說明,查找Parameter Expansion這段會看到:
${parameter%word}
${parameter%%word}
都是從parameter的最后開始刪除word所匹配的內(nèi)容,%是最短匹配,%%是最長匹配。
添加回答
舉報
0/150
提交
取消