我试图将井号作为命令行参数传递,然后回显该参数。当我传递例如 2 # 2 然后我 echo $1 $2 $3 时,我假设终端将输出 2 # 2 但它只输出 2。我错过了什么?
答案1
#
是评论字符。如果您不希望这样,则需要转义它或引用它。
echo 2 \# 2
echo 2 '#' 2
答案2
如果您使用 bash 作为 shell,则不可能(但如上所述,您可以转义它,或者可以将其放在引号中)。
但是,如果您从 csh 启动程序,它会正常工作。
我试图将井号作为命令行参数传递,然后回显该参数。当我传递例如 2 # 2 然后我 echo $1 $2 $3 时,我假设终端将输出 2 # 2 但它只输出 2。我错过了什么?
#
是评论字符。如果您不希望这样,则需要转义它或引用它。
echo 2 \# 2
echo 2 '#' 2
如果您使用 bash 作为 shell,则不可能(但如上所述,您可以转义它,或者可以将其放在引号中)。
但是,如果您从 csh 启动程序,它会正常工作。