无法打开文件作为第一个参数

无法打开文件作为第一个参数

我正在尝试运行如下脚本:

./script.sh file

但我收到(如果我使用 txt 文件):

=:        cannot open `=' (No such file or directory)
test.txt: ASCII text
Second

如果我使用 gz 文件:

=:           cannot open `=' (No such file or directory)
test.txt.gz: gzip compressed data, was "test.txt", last modified: Wed Jul 20 09:17:58 2016, from Unix
Second

(我的脚本和文件位于同一目录中)

脚本:

#!/bin/bash

file = $1

if [[ $file == *.gz ]];then

    echo "First"
else
    echo "Second"

fi

答案1

file = $1

运行file命令=作为第一个参数,并将 split+glob 运算符应用于脚本的第一个参数的结果作为其余参数。

类似 Bourne 的 shell 中的变量赋值(如bash, ksh, zsh, ash/ dash, yash)是标志周围有空格=

file=$1

file = $1rc作为,es或shell中的赋值是有效的akangacsh还有tcsh另一种语法:set file = $1:qandfish使用set file $argv[1].

相关内容