nfs mount shell脚本中预期的一元运算符

时间:2014-08-26 00:49:47

标签: linux bash shell mount nfs

我只需要安全程序。 nfs mount,data rsync和shell结束。

rmv=`cat /proc/mounts | grep /mnt/nfs | cut -d: -f2 | awk '{print $2}'`
if [ $rmv != $@ ]; then
 echo "not mounted"
 else if umount /mnt/nfs > /dev/null 2>&1 || /bin/false; then
 umount successed
  else
  device is busy"
  fi
fi

正在运作但是......

'[' /mnt/nfs '!=' ']'
[: /mnt/nfs: unary operator expected

我使用" $ @"我觉得我错了表达。需要其他方式

1 个答案:

答案 0 :(得分:0)

你的初始脚本实际上存在很多缺陷,而且一些不必要的代码/命令使用....这样做你想要的吗?注意 - 它未经测试,但我认为它在语法上是正确的。

rmv=$(awk -F"[: ]+" '/\/mnt\/nfs/{print $2}' /proc/mounts)
if [ $rmv == "" ]; then
  echo "not mounted"
else 
  if umount /mnt/nfs > /dev/null 2>&1 ; then
    echo "umount succeeded"
  else
    echo "device is busy"
  fi
fi