【问题标题】:trying to call a function in shell script试图在 shell 脚本中调用函数
【发布时间】:2012-02-27 00:44:50
【问题描述】:

我的脚本有什么问题?我正在尝试调用一个函数来查看文件是否大于指定数量。如果是,我想删除第二个文件。如果它不大于指定的数量,我希望程序退出。相反,我收到此错误消息: “意外标记‘文件’附近的语法错误” 有人可以帮助或指导我在哪里可以获得帮助吗?谢谢。我有一个 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

【问题讨论】:

  • 如果 FILESIZE
  • @WilliamPursell 他一定是dailywtf的读者。
  • e{ 之间需要一个空格

标签: bash shell


【解决方案1】:

您需要删除= 周围的空格...

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
}

【讨论】:

    猜你喜欢
    • 2012-01-23
    • 2018-12-02
    • 1970-01-01
    • 2020-06-29
    • 2012-10-03
    • 2020-04-30
    • 2012-03-08
    • 2016-03-13
    • 1970-01-01
    相关资源
    最近更新 更多