Как я понимаю, VAR=`ls`;echo $VAR
- это нормально, но вам не нравится, потому что на нем 2 команды.
Пока работает @ Gary-Barker, я не проверял все системы.Если у вас есть проблемы с тройником или другим, вы можете создать свои собственные ВСЕГДА.
Я не знаю, знаете ли вы это, но многие программы, которые вы можете использовать в Linux, - это просто набор кода, использующийнебольшие бинары по системе.Хотя это действительно так, нет смысла использовать 1 или 2 запятых, потому что окончательное выполнение действительно куча маленьких.
Итак, если ваша настоящая проблема в том, что вы можете написать только одну команду в своемtarget, вы можете написать свое собственное «приложение», сделав скрипт sh в папке / sbin и оставив его без расширения .sh (потому что они выполняются с префиксом ./ или sh, а не по имени)
Iнаписал это как пример:
#!/bin/bash
if [ $1 ]
then
VAR=$*; echo $VAR
fi
Для этого примера я сделал файл / sbin / varrun.Я пробовал это с командами фоллинга с успешным (нормальным) выводом:
varrun ls
varrun uname
varrun uname -a
Обратите внимание, что я не использовал "кавычки" в командах с пробелами.