2013-08-26 3 views
1

Я пытаюсь запустить сценарий оболочки.сценарий оболочки: ошибка синтаксиса

Первые две строки, как следующие:

#!/bin/bash 
gr = (file1 file2 file3) 

Однако, когда я запускаю этот сценарий, я получаю следующее сообщение об ошибке: fileName.sh: 2: Синтаксическая ошибка: "(" неожиданный

Я не привык к написанию этого типа сценариев, но я читал, что круглые скобки используются для группировки ...

Я не понимаю, что я сделал не так?

ответ

3

Попробуйте сделать это, чтобы сделать массив:

gr=(file1 file2 file3) 

не разрешено в переменной передаче имущества во всех видах пространств.

+0

Я просто удалил пространства, но та же ошибка остается ... – bigTree

+1

@bigTree Убедитесь, что вы используете 'bash'. Попробуйте 'bash script.sh' вместо того, чтобы просто запускать его с помощью' sh script.sh' или './Script.sh'. – konsolebox

+0

@konsolebox Мой плохой, теперь он работает спасибо! не могли бы вы рассказать мне, какая разница, пожалуйста? (спасибо!) – bigTree

2

Я пробовал вашу программу, и у меня такая же ошибка.

[[email protected] ~]$ sh fileName.sh 
fileName.sh: line 2: syntax error near unexpected token `(' 
fileName.sh: line 2: `gr = (file1 file2 file3)' 

Я просто изменить программу так:

[[email protected] ~]$ cat fileName.sh 
#!/bin/bash 
gr=(file1 file2 file3) 

И проблема исчезнет.

[[email protected] ~]$ vi fileName.sh 
Смежные вопросы