История изменений
Исправление Pinkbyte, (текущая версия) :
Posix shell. Баш - надмножество Posix shell, ни одной баш-специфичной конструкции в результирующем наборе команд нет. Пайпы(вот эти вот «|», если благородному дону угоден русский вариант - «трубы») - это не bash-специфичная вещь. Вызов внешней команды(fortune, tr, twigle) - тоже.
Отвлеченный пример: есть две конструкции if, например такая:
if [ "$foo" = "bar" ]; then
exit 0
fi
И вот такая:
if [[ "$foo" = "bar" ]]; then
exit 0
fi
Так вот - первая сработает в любом шелле, который совместим с POSIX sh. А вот вторая - нет, это т.называемый «башизм», и работать это будет только в bash, ну и еще может в шеллах, которые озабочены совместимостью с bash.
Причем, смешная штука, [ - это внешняя команда. Бинарник. Проверить можешь командой which [. А вот [[ - это встроенная конструкция языка в bash.
Исправление Pinkbyte, :
Posix shell. Баш - надмножество Posix shell, ни одной баш-специфичной конструкции в результирующем наборе команд нет. Пайпы(вот эти вот «|», если благородному дону угоден русский вариант - «трубы) - это не bash-специфичная вещь. Вызов внешней команды(fortune, tr, twigle) - тоже.
Отвлеченный пример: есть две конструкции if, например такая:
if [ "$foo" = "bar" ]; then
exit 0
fi
И вот такая:
if [[ "$foo" = "bar" ]]; then
exit 0
fi
Так вот - первая сработает в любом шелле, который совместим с POSIX sh. А вот вторая - нет, это т.называемый „башизм“, и работать это будет только в bash, ну и еще может в шеллах, которые озабочены совместимостью с bash.
Причем, смешная штука, [ - это внешняя команда. Бинарник. Проверить можешь командой which [. А вот [[ - это встроенная конструкция языка в bash.
Исправление Pinkbyte, :
Posix shell. Баш - надмножество Posix shell, ни одной баш-специфичной конструкции в результирующем наборе команд нет. Пайпы(вот эти вот «|», если благородному дону угоден русский вариант - «трубы) - это не bash-специфичная вещь. Вызов внешней команды(fortune, tr, twigle) - тоже.
Отвлеченный пример: есть две конструкции if, например такая:
if [ "$foo" = "bar" ]; then
exit 0
fi
И вот такая:
if [[ "$foo" = "bar" ]]; then
exit 0
fi
Так вот - первая сработает в любом шелле, который совместим с POSIX sh. А вот вторая - нет, это т.называемый „башизм“, и работать это будет только в bash, ну и еще может в шеллах, которые озабочены совместимостью с bash.
Исходная версия Pinkbyte, :
Posix shell. Баш - надмножество Posix shell, ни одной баш-специфичной конструкции в результирующем наборе команд нет. Пайпы(или если благородному дону угоден русский вариант - «трубы) - это не bash-специфичная вещь. Вызов внешней команды(fortune, tr, twigle) - тоже.
Отвлеченный пример: есть две конструкции if, например такая:
if [ "$foo" = "bar" ]; then
exit 0
fi
И вот такая:
if [[ "$foo" = "bar" ]]; then
exit 0
fi
Так вот - первая сработает в любом шелле, который совместим с POSIX sh. А вот вторая - нет, это т.называемый „башизм“, и работать это будет только в bash, ну и еще может в шеллах, которые озабочены совместимостью с bash.