在bash中使用输入/输出快捷方式时如何避免文件路径中的重复?

时间:2012-08-08 08:29:48

标签: linux bash filepath gdal

很抱歉,如果标题含糊不清,我不确定使用什么术语。这是我的问题。我使用以下代码来快捷INPUT / OUTPUT位置等:

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 shell读取文件路径(/ J / ca /​​ wgs /)两次,因此在一个不存在的位置找不到.tif文件?

万一有人要求,.tif文件肯定在$ BASE位置。

1 个答案:

答案 0 :(得分:2)

你以某种方式覆盖了$HOME变量;可能是偶然的。

启动一个干净的shell,看看HOME是否正确。如果是,那么你已经完成了(或者你编写脚本)。如果没有,那么您的.profile.bash_profile.bashrc或您的shell使用的任何内容都会出现问题。

如果您无法立即找出问题的原因,可以暂时解决问题:

export HOME=/home/user