0

タイトルが漠然としていて申し訳ありません。どの用語を使用すればよいかわかりません。これが私の問題です。次のコードを使用して、入力/出力の場所などをショートカットします。

BASE=~/J/ca/wgs
INPUT=~/J/ca/wgs/shps
OUTPUT=~/J/ca/wgs/rasters
SCRIPT=~/J/ca/wgs/scripts

gdal_translate $BASE/wgsraster.tif $OUTPUT/rast_1.tif

gdal_translate を実行すると、次のエラーが表示されます。

ERROR 4: `/home/user/J/ca/wgs/J/ca/wgs/wgsraster.tif' does not exist in the file system, and is not recognised as a supported dataset name.

bash シェルがファイルパス (/J/ca/wgs/) を 2 回読み取り、その結果、存在しない場所に .ti​​f ファイルが見つからないのはなぜですか?

誰かが尋ねた場合に備えて、.tif ファイルは間違いなく $BASE の場所にあります。

4

1 に答える 1

2

$HOME何らかの方法で変数を上書きしました。おそらく偶然。

クリーン シェルを開始し、HOMEそこで正しいかどうかを確認します。そうである場合は、完了です (または、それを行うのはスクリプトです)。そうでない場合は、.profileまたは.bash_profileまたは.bashrcシェルが使用するものに問題があります。

問題の原因をすぐに突き止められない場合は、一時的に修正できます。

export HOME=/home/user
于 2012-08-08T09:14:10.700 に答える