我似乎无法弄清楚如何将 bash 脚本中的 fdisk 命令放入多行变量中。
这是我的代码
hdds="$(sudo fdisk -l | grep "Disk /dev/sd" | awk '{print$2}' | sed 's/://g')"
当我执行这个 bash 脚本时,它将所有内容放在一行上,例如
/dev/sda /dev/sdb
当我在 bash 脚本之外执行此命令时,它的工作方式如下
sudo fdisk -l | grep "Disk /dev/sd" | awk '{print$2}' | sed 's/://g' | wc -l
输出在哪里2
。
我尝试过将所有内容都放在引号中,不带引号以及不带引号的内容,但似乎没有任何效果。
答案1
echo
您是否有机会使用 , 来调用变量?
如果是这样,请将其放在双引号中,如下所示:
echo "$hdds"
或使用printf
:
printf "%s" "$hdds"