试图在shell脚本中调用函数

时间:2012-02-27 00:44:50

标签: bash shell

我的脚本出了什么问题?我试图调用一个函数来查看文件是否大于指定的数量。如果是,我想删除第二个文件。如果它不大于我希望程序退出的指定数量。相反,我收到此错误消息: “意外令牌`FILE'附近的语法错误” 有人可以帮助或指导我在哪里可以得到一些帮助吗?谢谢。我有一个Bash shell。

function e{
FILE = $1
FILESIZE=$(stat -c%s "$FILE") 
if [ "$FILESIZE" -gt 2048 ]; then
   echo "File $1 exists"
   `rm $2`
else
   echo "File $1 does not exist" 
   exit 
fi
}

e AD4_1hit.paired_mult.bam AD4_1hit.halfmapping_transloc.bam

1 个答案:

答案 0 :(得分:2)

您需要删除= ...

周围的空格
FILE=$1

顺便说一句,你不需要围绕rm命令的命令替换`...`语法。

e () {
  FILE=$1
  FILESIZE=$(stat -c%s "$FILE")
  if [ "$FILESIZE" -gt 2048 ]; then
     echo "File $1 exists"
     rm $2
  else
     echo "File $1 does not exist"
     exit
  fi
}