unix 回显字符串,变量旁边有下划线
unix echo string with underscore next to variable
有没有办法使用 echo
打印变量旁边包含下划线的文本?例如:
$ var_name='foo'
$ echo "$var_name\_bar"
foo\_bar
$ echo "$var_name""_bar"
foo_bar
我想避免在单个 echo 命令中使用多个引号引起来的字符串。
printf
在这种情况下有效(因为 $var_name
独立):
$ var_name="foo"
$ printf "%s_bar\n" "$var_name"
foo_bar
或者在变量周围使用 {braces}
来消除内插字符串中变量名称结束位置的歧义:
$ echo "${var_name}_bar"
foo_bar
有没有办法使用 echo
打印变量旁边包含下划线的文本?例如:
$ var_name='foo'
$ echo "$var_name\_bar"
foo\_bar
$ echo "$var_name""_bar"
foo_bar
我想避免在单个 echo 命令中使用多个引号引起来的字符串。
printf
在这种情况下有效(因为 $var_name
独立):
$ var_name="foo"
$ printf "%s_bar\n" "$var_name"
foo_bar
或者在变量周围使用 {braces}
来消除内插字符串中变量名称结束位置的歧义:
$ echo "${var_name}_bar"
foo_bar