2011-08-09 2 views
3

ファイルの場所を表す文字列に変数を設定しようとしています。変数を設定しようとすると、bashスクリプトが試みているので、「許可が拒否されました」というエラーが表示されます。ファイルを実行します。Bash Scriptingファイル名を変数にエクスポート

./8000.2146701.sh:行32:/ホーム/私/ドキュメント/ ABC /ここ

は私が取得していますエラーは次のようである

date= 07062011 
archive_dir=~/Documents/ABC/Testing 
aggregate_file= `echo ${archive_dir}"/"${date}"_Aggregated.txt"` 

を使用しているコードですテスト/ 20110706_Aggregated.txt:許可が拒否されました

私がbackticksを使用して理解できることは、コマンドの出力を受け取り、変数に入れることができ、動作していないようです。 echo文だけを実行すると、出力はファイルパスになります。

ありがとうございました。

aggregate_file= 

です:

aggregate_file=`echo ${archive_dir}"/"${date}"_Aggregated.txt"` 

しかし:

aggregate_file= `echo ${archive_dir}"/"${date}"_Aggregated.txt"` 

は単純代入演算子の後にスペースを削除することによって働いているだろう

答えて

8

直接問題は、次の空間であり、実際にはちょうどそれがあったはずです:

aggregate_file="${archive_dir}/${date}_Aggregated.txt" 
+0

ありがとう、これはこの問題を解決しました。 .NET開発者のせいで、bashスクリプトを使っているのだ。 –

1

バックチックとエコーを使用しないでください。ちょうどaggregate_file="${archive_dir}/${date}_Aggregated.txt"です。そして、別のポスターが言及したように、スペースはありません。

関連する問題