首页 > 解决方案 > variable=$(...) 是否将命令或命令的结果存储在 POSIX sh 中

问题描述

我想知道:当我打电话时

list=$(ps -ax)

是 ps -ax 执行一次,我可以多次读取该值,还是每次调用 $list 时执行的命令

标签: shellshposix

解决方案


解决方案是存储结果。为了测试它,我使用了以下脚本

    #!/bin/sh
    myTime=$(date)
    for a in 1 2 3 4
    do
        echo 'Stored command: '$myTime
        echo 'Fresh command: '$(date)
        sleep 2
    done 

结果如下所示:

Stored commandTue Sep 29 17:39:44 +02 2020
Fresh commandTue Sep 29 17:39:44 +02 2020
Stored commandTue Sep 29 17:39:44 +02 2020
Fresh commandTue Sep 29 17:39:46 +02 2020
Stored commandTue Sep 29 17:39:44 +02 2020
Fresh commandTue Sep 29 17:39:48 +02 2020
Stored commandTue Sep 29 17:39:44 +02 2020
Fresh commandTue Sep 29 17:39:50 +02 2020

随意添加缺少的标签;不确定如何使 $() 之类的东西对搜索引擎最友好


推荐阅读