Shell

如何 sed -i ‘`eco$var_和CH這$在一種recho $var’我字’文件?

  • June 22, 2016

程式碼:

pos=2;
printf "Masi \nwas \nhere" > /tmp/1
sed -i '`echo $pos`i huhu' /tmp/1

預期輸出:

馬西
呼呼
曾是
這裡

電流輸出:

sed: -e expression #1, char 1: unknown command: ``'

撇號中的表達式不會被評估(也不是 subshel​​l 也不是變數)。您需要使用普通引號:

$ 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

(沒有子外殼)

引用自:https://unix.stackexchange.com/questions/290689