【问题标题】:Regarding nawk and system command关于 nawk 和系统命令
【发布时间】:2023-03-27 11:04:02
【问题描述】:

我正在使用 Solaris 并正在编写一个可以打开任何已禁用服务的脚本。 这是输出文件:

disabled        7:22:05 svc:/network/bla-bla:default
online         Jun_14   svc:/network/blu-blu:default

我希望我的代码能够解析这个并使用 nawk 本身打开禁用的代码

这是我尝试过的,由于某种原因它不起作用:

cat output | nawk '/disabled/ {system(svcadm enable $3)}'

这是它给出的输出:

**sh: line 1: svc:/network/bla-bla:default: not found** 

cat output |grep bl* 我需要的输出是:

online        7:22:05 svc:/network/bla-bla:default
online         Jun_14   svc:/network/blu-blu:default

谁能向我解释为什么会发生这种情况以及如何使这个 nawk 工作。我想要的只是

svcadm enable svc:/network/bla-bla:default

被执行。

【问题讨论】:

    标签: awk solaris ksh nawk


    【解决方案1】:

    因为它将svcadm 视为一个变量名,它没有任何值。试试

     nawk '{system("svcadm enable " $3)}'
    

    (对不起,我的意思是作为 nawk 程序——现在更正了。)

    【讨论】:

    • 它还不工作.. 它现在抛出错误“sh: line 1: 0: not found”
    • 我明白了!加号是问题所在,因为它不是 shell 脚本中的字符串连接器......谢谢你。如果你能纠正答案,我会继续标记它是正确的
    猜你喜欢
    • 2013-06-25
    • 1970-01-01
    • 1970-01-01
    • 2012-01-07
    • 1970-01-01
    • 2011-11-19
    • 2011-12-21
    • 1970-01-01
    相关资源
    最近更新 更多