
ここでこのスクリプトを見つけました。
#!/bin/bash
A=``awk '{print $2}' /etc/fstab | grep -i "^/" | egrep -v '/etc/fstab|proc|sys|shm|pts`'`
`for i in $A; do grep "$i" /proc/mounts > /dev/null`
`if [ $? -eq 0 ]; then
echo $i "TRUE"
else
echo $i "FALSE"
fi
done`
これにより、このエラーが発生しました。
./mount.sh: line 5: syntax error near unexpected token `do'
./mount.sh: line 5: ``for i in $A; do'
答え1
スクリプトをコピーして貼り付けると、追加の `タグが表示されます(予想どおりに表示されない場合はバックティックが表示されます)。
#!/bin/bash
A=`awk '{print $2}' /etc/fstab | grep -i "^/" | egrep -v '/etc/fstab|proc|sys|shm|pts'`
for i in $A; do grep "$i" /proc/mounts > /dev/null
if [ $? -eq 0 ]; then
echo $i "TRUE"
else
echo $i "FALSE"
fi
done
この試み。
答え2
grep -vE "pts|proc|sys|shm|^#|^$" /etc/fstab| while read -r a b c d e ;do echo $b $(grep -q ^$a\ $b /proc/mounts && echo TRUE || echo FALSE) ;done