我在这里遇到了这个脚本,
#!/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