Все наверное знают, что у редхата и клонов в отличие от бубунт sh это линк на bash. Я долго был уверен что и работают они одинаково ибо башизмы типа ${hash[key]}
в sh работали без возражений.
Пока не встал на грабли.
while read line
do
echo $line
done < <( cat /etc/passwd)
Этот код работает будучи запущен bash script.sh
, но вываливается при sh script.sh
.
Я даже не знаю как сформулировать вопрос... Скажем так: за какие грехи я потратил кучу времени на выяснения «ахули не работает», какие знания помогли бы мне этого избежать и зачем нужен sh который как бы bash, но не совсем?