【发布时间】:2018-08-24 09:55:16
【问题描述】:
我尝试将包含在两个 # 符号之间的字符串传递给 ksh 脚本:
Will #> ./a.ksh #This is a string#
Will #>
没有提示,执行的输出将是:
Will #> ./a.ksh #This is a string#
#This is a string#
在a.ksh 脚本下方。
a.ksh
echo $1
echo "$1"
echo ${1}
echo "${1}"
我试图以任何我知道的方式保护我的
$1变量,但我 无法显示以#开头的任何内容。
以下这些不起作用:
#> ./a.ksh #Hello
#> ./a.ksh #
但是这样做:
#> ./a.ksh Hello#
任何 shell 大师可以解释我为什么以及如何让它像 excpeted 一样工作?
我可以使用\#This String# 或"#This String#" 转义这些字符串,但我想知道为什么# 不能自行打印。
【问题讨论】:
标签: linux shell parameters scripting ksh