Bash
將 fdisk bash 命令輸出到多行變數
我似乎無法弄清楚如何將 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
。我嘗試將所有內容都放在引號中,不帶引號,但似乎沒有任何效果。
echo
你有沒有機會用 來呼叫變數?如果是這樣,請將其放在雙引號中,如下所示:
echo "$hdds"
或使用
printf
:printf "%s" "$hdds"