Выполнение сценария оболочки с помощью `sh foo.sh` выдает `foo.sh: 1: Синтаксическая ошибка: "(" неожиданный` [дубликат]Linux

Ответить Пред. темаСлед. тема
Anonymous
 Выполнение сценария оболочки с помощью `sh foo.sh` выдает `foo.sh: 1: Синтаксическая ошибка: "(" неожиданный` [дубликат]

Сообщение Anonymous »

История
Когда я запускаю sh foo.sh, я получаю foo.sh: 1: Синтаксическая ошибка: "(" неожиданная

Код: Выделить всё

ARR=("apple" "banana" "cherry")

for i in ${ARR[@]};
do
echo $i
done

но когда я запускаю /bin/bash или /usr/bin/zsh`, я получаю ожидаемый результат;

Код: Выделить всё

/usr/bin/zsh foo.sh
ARR
apple
banana
cherry
Мои чеки

Echo

Код: Выделить всё

echo $SHELL
/usr/bin/zsh

[code]/etc/shells[/code]

мой /etc/shells следующий

Код: Выделить всё

# /etc/shells: valid login shells
/bin/sh
/usr/bin/zsh
/usr/bin/sh
/bin/bash
/usr/bin/bash
/bin/rbash
/usr/bin/rbash
/usr/bin/dash
/bin/zsh
/usr/bin/tmux
Я озадачен тем, что здесь происходит. Насколько я понимаю, sh должен использовать определенную оболочку для машины.
Заранее спасибо.

Подробнее здесь: https://stackoverflow.com/questions/792 ... ax-error-u
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Linux»