Я пытался запускать команды, используя каналы.
Basic
single="ls -l"
$single
, который работает как ожидалось
Трубы :
multi="ls -l | grep e"
$multi
ls: |: No such file or directory
ls: grep: No such file or directory
ls: e: No such file or directory
... не удивительно
bash < $multi
$multi: ambiguous redirect
следующая попытка
bash $multi
/bin/ls: /bin/ls: cannot execute binary file
Только
echo $multi > tmp.sh
bash tmp.sh
работал.
Есть ли способ выполнить более сложные команды, не создавая сценарий для выполнения?