我有一个字符串,这是我无法控制的某些操作的结果。当我使用打印此变量时echo
,我得到:
echo $myvar
hello
但是,当我这样做
if [ $myvar = "hello" ]; then
echo they are equal
else
echo they are not equal
fi
我总是得到他们不平等。我怀疑这是因为newline
角色。
该字符串的行为也很奇怪。当我做:
newVAR="this is my var twice: "$myvar$myvar
echo $newVAR
我得到:
hellois my var twice: hello
如何检查这是否实际上是由于a引起的newline
,如果是,将其删除?
echo $foo
。做吧echo "$foo"
。
printf '%q\n' "$string"
获取任何字符串的转义版本。例如:printf '%q\n' 'foo\n'
->foo\\n
;printf '%q\n' $'foo\n'
->$'foo\n'