在执行下面的脚本新行:显示在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