• ベストアンサー

変数$importfileに第1引数($1)のファイルPATHを表示したい

下記のスクリプトを書きましたが ./aa.sh: line 6: =/tmp: command not found と言われるのはなぜですか? 変数$importfileに第1引数($1)のファイルPATHを表示したいです。 1 #/bin/bash 2 3 echo $# 4 if [ $# -eq 1 ] 5 then 6 $importfile=$1 7 echo "$importfile" 8 else 9 echo "argv file notfound" 10 exit; 11 fi 12 実行結果 ./aa.sh /tmp 1 ./aa.sh: line 6: =/tmp: command not found

質問者が選んだベストアンサー

  • ベストアンサー
noname#227025
noname#227025
回答No.1

× $importfile=$1 ○ importfile=$1

saekija
質問者

お礼

xinu様回答ありがとうございました。ケアレスミスに気づき助かりました。 perlとbashのスクリプトを同時に組んでいて混乱してました。

すると、全ての回答が全文表示されます。

その他の回答 (1)

  • kachansa
  • ベストアンサー率44% (30/67)
回答No.2

変数の定義の前に、$は不要 変数の前に$をつけることで変数の値となります。 6行目は、importfileという変数の値に置き換え、=$1つまり=/tmpを引数としたコマンド実行と解釈されます。 importfileが、その前に定義されていないので、そんなコマンドは存在しないというエラーになるわけです。

saekija
質問者

お礼

大変わかりやすい回答ありがとうございました。 ダラーの違いが分かってませんでした。

すると、全ての回答が全文表示されます。

関連するQ&A