2013-09-13 7 views
0

Если передаются в качестве аргумента в сценарии Kornshell, и это также команда, как:Выполнение команды в скрипте Kornshell

ksh argument.ksh "wc -l" 

как бы выполнить эту команду внутри сценария? Вы сохраняете его в переменной, а затем выполняете его? Кроме того, есть ли способ получить стандартную выходную/стандартную ошибку при выполнении команды внутри скрипта?

ответ

1

Поместите это внутри argument.ksh сценарий:

echo "Running command $1." ## optional message 
eval "$1" ## evaluate "$1" as a whole new command 

Лучше или безопасный способ на самом деле использовать "[email protected]":

echo "Running command $*." ## optional message 
"[email protected]" 

И передать ваши аргументы, как это:

ksh argument.ksh wc -l 
+0

Хорошо, как мне получить доступ к стандартным выводам/ошибкам для команды? –

+0

@DerrekWhistle Как вы хотите обрабатывать вывод/ошибку? Если он должен использоваться для переменной, просто поместите под подстановкой команды, то есть 'VAR = $ (команда)' например. 'VAR = $ ("$ @")' – konsolebox

Смежные вопросы