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

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

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

4
Как разбить длинную строку на несколько строк в приглашении чтения -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 Я хотел бы разбить эту длинную строку на несколько строк, чтобы ни один из …

5
Есть ли в 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 Это, очевидно, гораздо более короткое утверждение по сравнению, скажем, с использованием нескольких «или» тестов.

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

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

2
Как я могу создать арифметический цикл в сценарии оболочки POSIX?
Я знаю, как создать арифметический forцикл в bash. Как сделать эквивалентный цикл в сценарии оболочки POSIX? Поскольку существуют разные способы достижения одной и той же цели, не стесняйтесь добавлять свой собственный ответ и немного рассказать о том, как он работает. Ниже приведен пример одного такого bashцикла: #!/bin/bash for (( i=1; …
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.