Bash脚本“语法错误:意外的文件结束”

时间:2015-12-04 19:28:15

标签: shell unix sh

目标是使用Bourne shell创建一个简单的垃圾实用程序(它是作业的一部分)。我收到以下错误:“第17行:语法错误:文件意外结束”

我一直盯着代码看了几个小时,我看不出错误(可能是我忽略的简单)

#!/bin/sh

if [$# == 0] ;then 
    echo "Usage: trash -l | -p | { filename }*"
else
    if $1 == '-l'; then
        dir $HOME/.trash
    else if $1=='-p'; then 
        rm $HOME/.trash/*
    else
        for i in ${} ;do 
            mv i $HOME/.trash
        done
    fi
fi

谢谢!

1 个答案:

答案 0 :(得分:1)

这是我使用shellcheck实现的:

#!/bin/sh

if [ $# -eq 0 ] ;then 
    echo "Usage: trash -l | -p | { filename }*"
else
    if [ "$1" = '-l' ]; then
        dir "$HOME"/.trash
    elif "$1"=='-p'; then 
        rm "$HOME"/.trash/*
    else
        for i in ${} ;do 
            mv "$i" "$HOME"/.trash
        done
    fi