awk далеко не запутан, используйте его вместо tail
и напечатайте $6
последней записи:
$ thumbdrive=$(df | awk 'END{print $6}')
Мой вывод для echo $thumbdrive
: /mnt
Сохраняется ли $0
(и $6
) в END
, является дискуссионным , но работает на GNU awk, mawk, original-awk и Busybox awk. Если вы хотите быть в безопасности, сохраните $6
в переменной и используйте его в следующем раунде:
$ thumbdrive=$(df | awk '{var=$6}END{print var}')
strace
'ing df
открыл:
...
open("/proc/self/mountinfo", O_RDONLY) = 3
fstat(3, {st_mode=S_IFREG|0444, st_size=0, ...}) = 0
read(3, "16 21 0:16 / /sys rw,nosuid,node"..., 1024) = 1024
...
, поэтому, если вы работаете в Linux, вы также можете сбросить df
:
$ awk 'END{print $5}' /proc/self/mountinfo
/mnt
См. man proc
для получения дополнительной информации об этом.