bash脚本中的“ $ @':不是有效的标识符”错误

时间:2019-03-06 06:53:02

标签: bash shell

我正在研究一个Shell脚本,该脚本将允许用户在命令提示符下输入文件名,并且该脚本将找到可执行文件并确定是否可以执行它们。但是,当我尝试运行它时,出现“第45行'$ @':无效的标识符”错误消息。

这是我的第一个脚本,无法弄清楚如何解决此错误。我希望脚本的其余部分都可以,但是我无法克服这一错误来进行测试。

非常感谢您的帮助!

#!/bin/bash

FINDALL=FALSE

while :

    do
        case $1 in
            -a) FINDALL=TRUE
                shift ;;
            -h) echo “Usage $0 [-a] commands…”
                exit 0 ;;
            *)  break ;;
        esac
    done


for $@ in $file

    do
        case $file in
            */*)    if [ -x “$file” ]
                    then
                    echo $file

                    elif [ -d “$file” ]
                        then
                        echo $file is NOT found
                    fi
                    shift ;;

            *)  FOUND=FALSE ;;
        esac
    done


case $PATH in
    :*) PATH=”.:$PATH” ;;

    *::*)   PATH=`echo $PATH | sed -e ‘s/::/:.:/g’` ;;

    *:) PATH=”$PATH:.” ;;
esac


command=”$1”

IFS=$OLDIFS
IFS=:
set -- $PATH
IFS=$OLDIFS

case $command in
    */*)    echo $command ;;
    *)  FOUND=FALSE

        for P
            do
                if [ ! -d “$P/$command” -a -x “$P/$command” ]
                    then
                    FOUND=TRUE
                    echo $command
                    break
                    fi  
            done

        if [ “$FOUND” = FALSE ]
            then
            echo “Command $command not found in your search path”
        fi ;;
esac

0 个答案:

没有答案