Вопросы с тегом «bourne-shell»

26
Массивы в Unix Bourne Shell

Я пытаюсь использовать массивы в оболочке Bourne ( /bin/sh). Я обнаружил, что способ инициализации элементов массива: arr=(1 2 3) Но он сталкивается с ошибкой: syntax error at line 8: `arr=' unexpected Теперь в посте, где я нашел этот синтаксис, говорится, что он предназначен bash, но я не смог...

19
Использование ^ в качестве метасимвола оболочки

Я написал небольшой сценарий сегодня, который содержал grep -q ^local0 /etc/syslog.conf Во время обзора коллега предложил, чтобы ^local0его цитировали, потому что ^означает «труба» в оболочке Борна. Удивленный этим утверждением, я попытался отследить любую ссылку, в которой упоминалось это. Ничто...

18
Как разбить длинную строку на несколько строк в приглашении чтения -p в исходном коде?

Я пишу сценарий установки, который будет запускаться как /bin/sh. Есть строка, подсказывающая файл: read -p "goat can try change directory if cd fails to do so. Would you like to add this feature? [Y|n] " REPLY Я хотел бы разбить эту длинную строку на несколько строк, чтобы ни один из них не...

17
Есть ли в bash / bourne оператор in?

Я ищу оператор «in», который работает примерно так: if [ "$1" in ("cat","dog","mouse") ]; then echo "dollar 1 is either a cat or a dog or a mouse" fi Это, очевидно, гораздо более короткое утверждение по сравнению, скажем, с использованием нескольких «или»...

13
IFS null - это не то же самое, что не установленное IFS?

Здесь я прочитал большой вопрос под названием « Понимание IFS» . Я был удивлен, потому что ответы и комментарии цитируют POSIX, в котором говорится, что IFS = - это не то же самое, что отключение IFS. Если вы сбросили IFS, очевидно, используется значение по умолчанию. Если вместо этого сделать IFS...

12
Является ли «$ {PS1-}» допустимым синтаксисом и чем он отличается от простого «$ PS1»?

Я смотрю на сценарий, который имеет: if [ "${PS1-}" ]; then Этот трейлинг -немного беспокоит меня, потому что он не соответствует стандартному синтаксису Posix или Bash. Это какой-то загадочный синтаксис, который был всегда, или это опечатка? Любые ссылки на стандарты / документы будут...

12
Как я могу создать арифметический цикл в сценарии оболочки POSIX?

Я знаю, как создать арифметический forцикл в bash. Как сделать эквивалентный цикл в сценарии оболочки POSIX? Поскольку существуют разные способы достижения одной и той же цели, не стесняйтесь добавлять свой собственный ответ и немного рассказать о том, как он работает. Ниже приведен пример одного...