Passando os argumentos da linha de comando bash contendo #

2

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?

    
por Altaïr 14.04.2015 / 03:21

2 respostas

1

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.

    
por 14.04.2015 / 04:01
4

# é o caractere de comentário. Se você não quer que seja, você precisa escapar ou citá-lo.

echo 2 \# 2
echo 2 '#' 2
    
por 14.04.2015 / 03:27