Shell
如何 sed -i ‘`eco$var_和CH這$在一種recho $var’我字’文件?
程式碼:
pos=2; printf "Masi \nwas \nhere" > /tmp/1 sed -i '`echo $pos`i huhu' /tmp/1
預期輸出:
馬西 呼呼 曾是 這裡
電流輸出:
sed: -e expression #1, char 1: unknown command: ``'
撇號中的表達式不會被評估(也不是 subshell 也不是變數)。您需要使用普通引號:
$ pos=2; $ printf "Masi \nwas \nhere" > /tmp/1 $ sed -i "`echo $pos`i huhu" /tmp/1 $ cat /tmp/1 Masi huhu was here
這相當於
$ sed -i "${pos}i huhu" /tmp/1
(沒有子外殼)