我试图将命令的输出放入数组,为此尝试以下操作:
#!/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
位置参数是最接近sh数组的参数:
sh-3.2$ set -- "$(date +%s)"; sleep 5; set -- "$@" "$(date +%s)"
sh-3.2$ start=$1 end=$2; echo "$start -> $end"
1572448562 -> 1572448567
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。