shell变量传递失真

例如

a=`set_var EASYRSA        "${0%/*}"`;

在当前作用域echo a;

出来set_var EASYRSA        "${0%/*}"

传递到函数里,
出来
set_var EASYRSA  "${0%/*}"

为什么制表符变空格了。

谢谢。

直接打印制表符不会变,一旦赋值制表符就变空格了。

阅读 2.1k
2 个回答

传递参数时,shell会自动把空字符串、制表符等都去掉,只留下一个空格,除非你用双引号包住

制表符不要手打,用 \\t代替,前面一个斜杆是转义符。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题