Вопросы по теме 'dash-shell'

bash, тире и сравнение строк
Я пытаюсь сравнить две строки в простом сценарии оболочки. Я использовал /bin/sh вместо /bin/bash , и после бесчисленных часов отладки оказалось, что sh (на самом деле это тире) не может обработать этот блок кода: if [ "$var" == "string" ]...
38782 просмотров
schedule 05.04.2023

Выполнение сценария Bash с шебангом и без него в Linux и BSD
Как и кто определяет, что выполняется, когда Bash-подобный скрипт выполняется как двоичный файл без шебанга? Я предполагаю, что запуск обычного скрипта с shebang обрабатывается с помощью binfmt_script Linux-модуль, который проверяет шебанг,...
4825 просмотров
schedule 24.02.2023

Как регулярное выражение сравнить строку в тире?
По соображениям совместимости я перемещаю bash-скрипт в dash. Есть ли альтернатива POSIX / Dash следующему сравнению? COMPARE_TO="^(lp:~?|https?://|svn://|svn\+ssh://|bzr://|bzr\+ssh://|git://|ssh://)" if [[ $COMPARE =~ $COMPARE_TO ]]; then...
3938 просмотров
schedule 15.06.2023

shell - Вставить символ с разными индексами в строку
В конечном итоге он станет частью более крупного скрипта, поэтому его необходимо написать в сценарии оболочки. Простая задача на других языках, но у меня возникли проблемы с ее выполнением в оболочке. В основном у меня есть строка, и я хочу вставить...
638 просмотров
schedule 02.08.2022

Запустите скрипт bash с помощью sh
У меня есть скрипт bash, и он требует bash. Другой человек пытается запустить его с помощью sh script_name.sh И это не удается, потому что sh является символической ссылкой на dash в его дистрибутиве. $ ls -la /bin/sh lrwxrwxrwx 1 root...
83548 просмотров
schedule 12.02.2024

Надежно печатать строку с новой строкой как в bash, так и в тире
У меня есть следующий скрипт: #!/bin/sh echo "111\n111" echo -e "222\n222" Ни одна из команд не работает как в bash, так и в dash: $ /bin/dash test.sh 111 111 -e 222 222 $ /bin/bash test.sh 111\n111 222 222 Поскольку я не могу...
613 просмотров
schedule 12.02.2023

Использование оболочки Bourne printf %s
У меня есть простая функция оболочки debug_print, которую я использую для написания больших сценариев оболочки. В общем, я стараюсь писать только Bourne-совместимые скрипты и избегаю башизмов. В этом случае Bash-версия моей функции debug_print...
1518 просмотров
schedule 10.01.2023

сценарий оболочки: `[[` не работает должным образом
У меня есть сценарий: ENABLE_SYSLOG=true test -r /etc/default/inotifywait && . /etc/default/inotifywait || exit 99 test -d $INOTIFY_FOLDER || exit 100 inotifywait -mrq -e ATTRIB --format '%w%f' "$INOTIFY_FOLDER" | while IFS= read -r FILE...
176 просмотров
schedule 11.07.2022

Как узнать, используется ли в сценарии bash или dash?
Я пишу скрипт bash, и он выдает ошибку при использовании команды «sh» в Ubuntu (кажется, он не совместим с тире, я изучаю эту тему). Поэтому я хотел бы определить, используется ли тире вместо bash, чтобы вызвать ошибку. Как я могу обнаружить это в...
4166 просмотров
schedule 22.05.2022

Bash и Dash непоследовательно проверяют коды ошибок подстановки команд с помощью `errexit`
Кажется, я столкнулся с очень, очень странным несоответствием в том, как dash и bash проверяют условия ошибки с опцией errexit . Используя как dash , так и bash без опции set -e / set -o errexit , следующая программа: foo() {...
657 просмотров
schedule 13.04.2022

Почему разделение поля WORD не происходит в операторе case WORD in, когда WORD является переменной?
Сценарий оболочки: #!/bin/sh a="foo bar" case $a in "foo bar") echo case 1 ;; esac case foo bar in "foo bar") echo case 2 ;; esac Выполнение этого с bash приводит к следующему выводу и ошибке....
34 просмотров
schedule 07.03.2023

Регрессия: экспортированная функция Bash потеряна после прохождения другого процесса
При переходе с Ubuntu 14.04 на 16.04 я заметил, что несколько моих сценариев Bash не работают из-за отсутствия экспортированных функций. Интересно, связано ли это с исправлениями ошибки Shellshock , хотя я просто export -f функции, не полагаясь...
306 просмотров
schedule 05.05.2023

bash: невозможно установить и использовать псевдоним в одной строке
Я ожидаю, что во второй строке будет foo вместо command not found : $ alias foo="echo bac" ; foo; -bash: foo: command not found $ foo bac $ Почему во второй строке не будет foo ? Протестировано со следующими оболочками, такое же...
710 просмотров
schedule 12.02.2023

эхо выводит другой ответ от sh и bash
Я запускал свой скрипт тремя способами, и результат был разным. Не могли бы вы объяснить мне, почему он работает именно так? Спасибо!! Вот мой сценарий #!/bin/bash #Program: # This program shows "Hello World!" in your screen. echo -e "Hello...
770 просмотров
schedule 02.10.2022

тире скрипт, отправьте да для команды
Я хочу вызвать команду со сценарием, используя тире. вот мой код: #!/bin/sh ip='172.45.0.219' cmd1='yes yes' cmd2="./ssh foo@$ip" eval $cmd1 | $cmd2 когда я запускаю свой скрипт, это мой вывод: Pseudo-terminal will not be...
94 просмотров
schedule 10.10.2022