sh ×6
Создан 04.01.2025
18
голоса
2
ответов
9
просмотров
Разница между sh и Bash

Разница между Bash и sh При написании скриптов для оболочки мы часто используем /bin/sh и /bin/bash. Обычно я предпочитаю bash, но не совсем понимаю, в чем между ними разница. Какова основная разница между Bash и sh? На что нам следует обратить внимание при программировании на Bash и sh?

26
голоса
5
ответов
28
просмотров
Как разобрать аргументы командной строки в Bash?

У меня есть скрипт, который вызывается следующими командами:

./myscript -vfd ./foo/bar/someFile -o /fizz/someOtherFile

или вот так:

./myscript -v -f -d -o /fizz/someOtherFile ./foo/bar/someFile 

Как правильно разобрать входные параметры, чтобы в обоих случаях (или в любом их...

19
голоса
5
ответов
11
просмотров
Как запросить ввод Yes/No/Cancel в скрипте оболочки Linux?

Я хочу приостановить ввод в скрипте оболочки и запросить у пользователя выбор. Мне нужно задать стандартный вопрос с вариантами «Да», «Нет» или «Отмена». Как мне это сделать в типичном bash-скрипте?

13
голоса
5
ответов
15
просмотров
Как выводить команды оболочки по мере их выполнения

Заголовок: Как в shell-скрипте вывести все выполняемые команды с расширением переменных?

Описание проблемы:

В своем shell-скрипте я хочу вывести все команды, которые выполняются, и автоматически расширять любые имена переменных.

Например, у меня есть следующая строка:

ls...
15
голоса
5
ответов
10
просмотров
Как объявить и использовать логические переменные в shell-скрипте?

Я пытался объявить логическую переменную в скрипте оболочки, используя следующий синтаксис:

variable=$false

variable=$true

Правильный ли это способ? Также, если я хочу обновить эту переменную, нужно ли использовать тот же синтаксис? Наконец, правильный ли следующий синтаксис для...

36
голоса
5
ответов
24
просмотров
Как проверить, содержит ли строка подстроку в Bash

У меня есть строка в Bash:

string="My string"

Как я могу проверить, содержит ли она другую строку?

Я пробовал написать так:

if [ $string ?? 'foo' ]; then
  echo "It's there!"
fi

Где ?? — это мой неизвестный оператор. Использовать ли мне echo и grep?

if...