Больше, чем проблема, это запрос на «другой способ сделать это».shell scripting: inested subshell ++
На самом деле, если я хочу использовать результат предыдущей команды в другой, я использую:
R1=$("cat somefile | awk '{ print $1 }'")
myScript -c $R1 -h123
тогда, «лучшим способом» является:
myScript -c $("cat somefile | awk '{ print $1 }'") -h123
Но что, если Я должен использовать результат несколько раз? Скажем: используя несколько раз $R1
, а в 2 опции:
Вариант 1
R1 = $ ("кошка некий-файл | AWK '{печать $ 1}'")
myScript -c $R1 -h123 -x$R1
вариант 2
myScript -c $("cat somefile | awk '{ print $1 }'") -h123 -x $("cat somefile | awk '{ print $1 }'")
вы знаете другой способ «магазин» результат предыдущей команды/сценарий и использовать его в качестве аргумента в другую команду/скрипт?
Что именно проблема с Вашим первым предложением?Вы должны исправить цитату: 'R1 = $ (awk '{print $ 1}' somefile) myScript -c" $ R1 "-h123' , но кроме этого все в порядке. – Philipp
вариант 2 не очень хорош, так как вы выполняете внешние команды дважды (производительность hurrting), и не гарантируется, что во второй раз вы получите тот же результат – dimba
Вы просите способ сохранить результат, кроме сохранения его в переменной? – Cascabel