Вопросы с тегом 'sh'

sh - стандартная оболочка Unix с версии 7 Unix. POSIX имеет стандартизованное поведение оболочки на основе Bourne Shell, а переносимые сценарии оболочки должны соответствовать стандартизованному синтаксису. Используйте этот тег для вопросов, относящихся к оболочкам Bourne/POSIX. Для сценариев оболочки с ошибками, пожалуйста, проверьте их в http://shellcheck.net перед публикацией здесь.
13

Разница между sh и bash

При написании программ оболочки мы часто используем /bin/sh и /bin/bash. Обычно я использую bash, но я не знаю, какая разница между ними. Какое основное различие между bash и sh? Что нам нужно знать при программировании в bash и sh?
20 апр. '11 в 3:33
19

Как объявить и использовать логические переменные в оболочке script?

Я попытался объявить логическую переменную в оболочке script, используя следующий синтаксис: variable=$false variable=$true Это правильно? Кроме того, если бы я хотел обновить эту переменную, я бы использовал тот же синтаксис? Наконец, следующий...
01 июн. '10 в 21:54
14

Как отобразить команды оболочки при их выполнении

В сценарии оболочки, как я повторяю все вызванные команды оболочки и раскрываю имена любых переменных? Например, с учетом следующей строки: ls $DIRNAME Я хотел бы, чтобы скрипт запускал команду и отображал следующее ls /full/path/to/some/dir Це...
18 мая '10 в 0:03
7

Что означает значение -e в bash script?

Я изучаю содержимое этого файла preinst, который выполняется script, прежде чем этот пакет распакуется из файла архива Debian (.deb). script имеет следующий код: #!/bin/bash set -e # Automatically added by dh_installinit if [ "$1" = install ]; ...
27 окт. '13 в 19:06
6

Команда не обнаружила ошибку в присваивании переменной Bash

У меня есть этот script, называемый test.sh: #!/bin/bash STR = "Hello World" echo $STR когда я запускаю sh test.sh, я получаю следующее: test.sh: line 2: STR: command not found Что я делаю неправильно? Я смотрю на базовые/новички bash учебн...
15 февр. '10 в 18:32
6

'echo' без новой строки в оболочке script

У меня проблема с echo в моем script: echo -n "Some string..." печатает -n Some string... и переходит к следующей строке. В консоли он работает без новой строки: Some string...
25 июн. '12 в 16:38
6

Как выполнить логическую операцию ИЛИ в Shell Scripting

Я пытаюсь выполнить простую проверку состояния, но, похоже, не работает. Если $# равно 0 или больше, чем 1, тогда поздороваться. Я пробовал следующий синтаксис без успеха: if [ "$#" == 0 -o "$#" > 1 ] ; then echo "hello" fi if [ "$#" == 0 ] ...
06 нояб. '10 в 1:48
21

Как выполнить команды mongo через shell-скрипты?

Я хочу выполнить команды mongo в сценарии оболочки, например, в сценарии test.sh: #!/bin/sh mongo myDbName db.mycollection.findOne() show collections Когда я выполняю этот скрипт через ./test.sh, то соединение с MongoDB устанавливается, но следующ...
29 янв. '11 в 15:26
10

Как получить пароль из оболочки script без эха

У меня есть script, который автоматизирует процесс, который нуждается в доступе к защищенной паролем системе. Доступ к системе осуществляется с помощью командной строки, которая принимает пароль пользователя в качестве аргумента. Я хотел бы предлож...
20 окт. '10 в 17:33
22

Как я могу получить поведение GNU readlink -f на Mac?

В Linux утилита readlink принимает параметр -f, который следует за дополнительными ссылками. Это, похоже, не работает на Mac и, возможно, на BSD-системах. Каким будет эквивалент? Вот некоторые отладочные данные: $ which readlink; readlink -f /usr/...
28 июн. '09 в 20:26
2

Как я могу разделить команду оболочки на несколько строк при использовании оператора IF?

Как разделить команду на несколько строк в оболочке, если команда является частью оператора if? Это работает: if ! fab --fabfile=.deploy/fabfile.py --forward-agent --disable-known-hosts deploy:$target; then rc=1 ...
03 сент. '13 в 19:10
3

Как прочитать файл в переменной в оболочке?

Я хочу прочитать файл и сохранить его в переменной, но мне нужно сохранить переменную, а не просто распечатать файл. Как я могу это сделать? Я написал этот script, но это не совсем то, что мне нужно: #!/bin/sh while read LINE do echo $LINE ...
15 сент. '11 в 7:29
21

Проверьте, существует ли файл с шаблоном в командной оболочке script

Я пытаюсь проверить, существует ли файл, но с подстановочным знаком. Вот мой пример: if [ -f "xorg-x11-fonts*" ]; then printf "BLAH" fi Я также пробовал это без двойных кавычек.
15 июн. '11 в 19:50
11

Как я могу создать новую строку в строке в sh?

Это STR="Hello\nWorld" echo $STR производит как выход Hello\nWorld вместо Hello World Что мне делать, чтобы иметь строку новой строки в строке? Примечание: Этот вопрос не касается эха. Я знаю echo -e, но я ищу решение, которое позволяет п...
09 июн. '10 в 13:00
10

Как запустить оболочку script без использования команд "sh" или "bash"?

У меня есть оболочка script, которую я хочу запустить без использования команд "sh" или "bash". Например: Вместо sh script.sh Я хочу использовать: script.sh Как я могу это сделать? P.S. (i) Я не использую shell script, и я пробовал читать об пс...
08 янв. '12 в 18:14