Como usar o comando “read” para inserir um diretório “cd” para alterar um arquivo “chmod + x”?

3

O seguinte script Bash sai após a primeira linha read -p .

#!/bin/bash
clear

echo Put me next to your targeted .sh file!
read -p "Press [Enter] key when placed next to target..."

echo Type your .sh filename (target.sh)...
read target

chmod +x $target
echo Target Converted!
read -p "Press [Enter] key to Exit..."

Alguém poderia explicar por que o script sai e como evitá-lo?

    
por SprayHost 11.01.2013 / 18:49

1 resposta

4

O script sai devido ao seguinte erro:

a.sh: line 7: syntax error near unexpected token '('
a.sh: line 7: 'echo Type your .sh filename (target.sh)...'

No Bash, e mais geralmente em intérpretes de linha de comando, alguns caracteres são especiais e têm um significado. ( e ) são dois desses caracteres.

Ao usar echo , read -p ou outros comandos semelhantes, sempre coloque suas strings entre aspas, assim:

echo "Put me next to your targeted .sh file!"
[...]
echo "Type your .sh filename (target.sh)..."
[...]
echo "Target Converted!"
    
por Andrea Corbellini 11.01.2013 / 18:58