在執行下面的腳本新行:顯示在shell變量
我得到的輸出string(n)
。但我期望看到輸出爲:"string('\n')"
。
有沒有什麼辦法得到這個?
注:我需要的輸出(在單引號\n
)將被顯示在string('\n')
使用該變量在m_wc abinitio
命令。
更新:感謝您快速響應,但發生'\ n'時變量文本轉到下一行。輸出如下:
export var='string('\''\n'\'')'
export var1="string('\\n')"
echo "$var1"
string('
')
>echo $var
string('
')
有沒有什麼辦法可以完全避開'\ n'?
更新:printf'%s \ n'「$ var1」似乎工作正常,但我怎樣才能把這個值給一個變量,並在腳本中的任何地方使用它?
我試圖把象下面這樣:但不工作:
出口VAR1 = 「字符串( '\ n')」
出口VAR2 = 「printf的 '%s的\ n'」 $ VAR1 「」
出口BYT_CNT = m_wc -no-commas -string $var2 /prod/users/edw/gvx770/list.dat|awk '{print $1}'
回聲$ VAR2
回聲$ VAR2 的printf '%s的 ' 字符串(」 「)
不要使用'echo';使用'printf'%s \ n'「$ var1」'。你不知道'echo'將會做什麼不同的版本;不同的shell以不同的方式處理參數中的反斜槓轉義。 'printf'與POSIX一致並且標準化 - 並且做你想要的。注意格式字符串''%s \ n''的單引號和''$ var1''周圍的雙引號;兩者都是一個好主意,原因不同。 – 2014-09-01 23:41:24