Согласие с комментарием @ mark-plotnick , OP должен гарантировать, что скрипт запускается csh , например, добавив строку «hash-bang»:
#!/bin/csh
или запустив скрипт с помощью соответствующей программы:
csh ./foo
Как правило правило, если в сценарии отсутствует эта информация, он будет запущен с использованием / bin / sh
Дополнительная литература:
Кажется, это помогает:
#!/bin/bash
mountpoints=( $(awk '$1 !~ /^#/ && $2 ~ /^[/]/ {print $2}' /etc/fstab) )
for mount in ${mountpoints[@]}; do
if ! findmnt "$mount" &> /dev/null; then
echo "$mount is declared in fstab but not mounted"
fi
done
Кража заимствование DopeGhoti awk
, для этого можно использовать comm
:
Файловые системы, которые смонтированы, но отсутствуют в /etc/fstab:
comm -23 <(mount|awk '{print $3}'|sort) <(awk '$1 !~ /^#/ && $2 ~ /^[/]/ {print $2}' /etc/fstab|sort)
Файловые системы, находящиеся в /etc/fstab, но не смонтированные:
comm -13 <(mount|awk '{print $3}'|sort) <(awk '$1 !~ /^#/ && $2 ~ /^[/]/ {print $2}' /etc/fstab|sort)