Почему для скриптинга в шелле используется bash а не более современный язык программирования?
Насколько я понимаю раньше шеллы использовались в качестве примитивных высокоуровневых языков. Сейчас у нас есть Perl, Python, nodejs, php...
Какой тогда смысл в bash (кроме поддержки легаси скриптов, разумеется), если для всего в осях есть сис. вызовы, а в языках программирования - соответствующие обертки над этими сис. вызовами.
Философия NIX - каждая программа должна делать только одно действие и делать это хорошо. Чтобы склеить действия разных команд нужен простой и быстрый инструмент. Bash (точнее, языки типа shell - sh, tcsh, bash, etc.) является этим инструментом. Можно считать, что bash - это клей linux системы)
И для выполнения своих функций (быстро склеить два куска рутинной работы, результат которой может быть даже нужен только один раз) он подходит лучше гвоздя с молотком в виде python/perl/php или даже "сварки" библиотек с помощью C/Go/Rust.
FanatPHP, это называется pipe, если я ничего не путаю.
Ниже я уже писал, что можно добавить в general purpose языки спец. синтакис как раз для этого
Тогда реализовать будет несложно.
Марат Нагаев, тут уже и c++ предлагали в качестве скриптового языка. Но как говорил великий мастер Foo – "В одной строчке баш-скрипта больше духа Unix, чем в десяти тысячах строк кода Си".
Изучайте коаны unix и обретайте просветление!
Если что, это "Master Foo and the Ten Thousand Lines"
каждый инструмент хорош на своём месте. bash в качестве оболочки для взаимодействия с ОС будет получше питона и прочих перлов.
попробуйте реализовать это на чём-то кроме баша и скажите, успели ли вы за полторы минуты:
for host in master-db{1..3} slave-db{1..8}; do echo -n "${host} "; ssh ${host} 'grep -P '\''^#UUID=[\da-f-]+\s\/var\/lib\/mysql'\'' /etc/fstab | grep -oP '\''(?<=UUID\=)[\da-f-]+'\'''; done