Não é possível se você usar o bash como seu shell (mas como dito acima, você pode escapar dele, ou pode colocá-lo entre aspas).
No entanto, funcionará bem se você iniciar seu programa a partir do csh, por exemplo.
Eu estou tentando passar sinal de libra como um argumento de linha de comando, em seguida, ecoando o argumento. Quando eu passar por exemplo 2 # 2, em seguida, eu echo $ 1 $ 2 $ 3, suponho que o terminal irá produzir 2 # 2, mas gera apenas 2. O que estou faltando?
#
é o caractere de comentário. Se você não quer que seja, você precisa escapar ou citá-lo.
echo 2 \# 2
echo 2 '#' 2
Tags bash terminal shell-script