簡體   English   中英

將 Linux 文件系統類型分配給變量

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM