次のスクリプトを実行しようとしています。
./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
コマンドを最初の引数として実行し=
、分割+glob演算子の結果をスクリプトの最初の引数に残りの引数として適用します。
Bourneに似たシェル(たとえばbash
、、、、/ 、)では、変数の割り当ては次のとおりksh
です。zsh
ash
dash
yash
いいえロゴの周りにスペースがあります=
。
file=$1
file = $1
rc
割り当てはシェルでまたはでes
有効ですakanga
。別の構文がcsh
ありますtcsh
:set file = $1:q
andをfish
使用してくださいset file $argv[1]
。