命令输出进入一个数组

时间:2015-10-25 10:26:03

标签: arrays

我想存储启动命令的元素。我试过这个:

但它不起作用。我想存储上次重启命令的元素。我该如何解决?

2 个答案:

答案 0 :(得分:1)

如果你想要重启时间,你可以像这样使用awk:

# change internal field separator to newline because awk will write each date on new lines
_IFS=$IFS;
IFS=$'\n';
# Grep all lines that starts with reboot, then remove the first 2 fields and print the rest
reboots=($(last | awk '/^reboot/{$1=$2="";print}'));
# Reset IFS
IFS=_IFS;

echo ${reboots[0]}; # Mon Jul 13 10:39
echo ${reboots[1]}; # Mon Jul xx xx:xx
echo ${reboots[2]}; # Mon Jul xx xx:xx
echo ${reboots[...]}; # Mon Jul xx xx:xx

答案 1 :(得分:0)

要使用IFS作为分隔符将字符串拆分为数组,可以将其括在括号中:

my_array=($(last -F | grep reboot))
echo "${my_array[@]}"