开发者社区> 问答> 正文

命令输出在sh shell中的数组中

我试图将命令的输出放入数组,为此尝试以下操作:

#!/bin/sh

cmd=($(date +%s;sleep 5; date +%s))
start_time=$cmd[0]
end_time=$cmd[1]
echo $start_time

我期望echo $ start_time给我开始时间,但它会显示以下内容:

1572443382 1572443386 [0]

无法切换到bash shell,只能访问sh

展开
收起
祖安文状元 2020-01-08 15:28:20 499 0
1 条回答
写回答
取消 提交回答
  • 位置参数是最接近sh数组的参数:

    sh-3.2$ set -- "$(date +%s)"; sleep 5; set -- "$@" "$(date +%s)"
    sh-3.2$ start=$1 end=$2; echo "$start -> $end"
    1572448562 -> 1572448567
    
    2020-01-08 15:28:26
    赞同 展开评论 打赏
问答分类:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
Shell 脚本速查手册 立即下载
低代码开发师(初级)实战教程 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载