【问题标题】:Executing a command in a KornShell script在 KornShell 脚本中执行命令
【发布时间】:2013-09-13 16:29:42
【问题描述】:

如果您在 KornShell 脚本中传入一个参数,并且它也是一个类似的命令:

    ksh argument.ksh "wc -l"

您将如何在脚本中执行此命令?您是否将其存储在变量中,然后执行它?另外,有没有办法通过在脚本中执行命令来检索标准输出/标准错误?

【问题讨论】:

    标签: bash shell unix terminal ksh


    【解决方案1】:

    把它放在你的 argument.ksh 脚本中:

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

    实际上更好或更安全的方法是使用"$@"

    echo "Running command $*." ## optional message
    "$@"
    

    然后像这样传递你的论点:

    ksh argument.ksh wc -l
    

    【讨论】:

    • 好的,如何访问命令的标准输出/错误?
    • @DerrekWhistle 你想如何处理输出/错误?如果要用于变量,只需将其放在命令替换下,即VAR=$(command),例如VAR=$("$@")
    猜你喜欢
    • 1970-01-01
    • 2013-05-20
    • 2013-01-09
    • 1970-01-01
    • 2016-01-30
    • 2016-07-25
    • 2013-09-22
    • 2014-11-17
    • 2018-09-08
    相关资源
    最近更新 更多