[英]Assign Linux File System Type to Variable
我正在嘗試將 Linux 文件系統類型分配給一個變量。 我的命令df -Th | grep "^/dev"
輸出df -Th | grep "^/dev"
df -Th | grep "^/dev"
如下:
/dev/mapper/rhel-root xfs 50G 11G 40G 22% /
/dev/mapper/rhel-home xfs 53G 569M 53G 2% /home
/dev/sdb1 xfs 1014M 192M 823M 19% /boot
/dev/sdc1 vfat 7.6G 7.4G 125M 99% /run/media/root/RHEL-8-1-0-
我的解決方案是將其傳遞給 awk 語句以返回 rhel-root 的類型,但是我沒有得到任何輸出。
var=$(awk '{
if($1 == "/dev/mapper/rhel-root"){
print $2;
}
}' | df -Th | grep "^/dev")
如何將文件類型 (xfs) 分配給變量?
您需要將管道df .. grep ..
的輸出作為輸入提供給awk
命令:
var=$(awk '{
if($1 == "/dev/mapper/rhel-root"){
print $2;
}
}' <(df -Th | grep "^/dev") )
echo "$var"
然后它將輸出: xfs
。
一個通用的解決方案是:
declare -A array # assiciative array
while read -r fs type others; do
if [[ $fs = /dev/* ]]; then
array[$fs]="$type" # associate fs with its type
fi
done < <(df -Th)
echo "${array[/dev/mapper/rhel-root]}"
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.