我正在尝试运行如下脚本:
./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 = $1
rc
作为,es
或shell中的赋值是有效的akanga
。csh
还有tcsh
另一种语法:set file = $1:q
andfish
使用set file $argv[1]
.