comando não encontrado no shell script

4

Por favor, diga-me porque não consegui imprimir o valor da variável.

# chmod 777 chkscript.sh
# ./chkscript.sh

chkscript.sh conteúdo do arquivo

variable = "This is variable"

echo "$variable"

echo "Hello World "

Saída:

# ./chkscript.sh
./chkscript.sh: line 5: variable: command not found

Hello World
#

P.S: E às vezes

 variable1 = "/home/files" --- which is location if I try to print nothing gets printed.
 echo "$variable"
    
por sunleo 02.07.2014 / 13:47

2 respostas

7

No shell, espaços não são permitidos em nenhum dos lados do = em uma atribuição de variável.

Tente isso:

variable="This is a variable"

Se você deixar um espaço antes do = , o shell analisará o token antes dele como um nome de comando ou função, e é por isso que você vê a mensagem "comando não encontrado".

    
por 02.07.2014 / 13:49
-1

Eu tive um problema semelhante e fiz isso:

#!/bin/sh
my_chars='This is test' ;
echo $my_chars
~

Agora

$ ./test_chars.sh
This is test

Isso funciona

    
por 23.08.2016 / 15:21