传递包含 # 的 bash 命令行参数

传递包含 # 的 bash 命令行参数

我试图将井号作为命令行参数传递,然后回显该参数。当我传递例如 2 # 2 然后我 echo $1 $2 $3 时,我假设终端将输出 2 # 2 但它只输出 2。我错过了什么?

答案1

#是评论字符。如果您不希望这样,则需要转义它或引用它。

echo 2 \# 2
echo 2 '#' 2

答案2

如果您使用 bash 作为 shell,则不可能(但如上所述,您可以转义它,或者可以将其放在引号中)。

但是,如果您从 csh 启动程序,它会正常工作。

相关内容