скрипт Ubuntu bash с postgres9.4: shp2pgsql не удается открыть файл формы линии tiger

#bash #postgresql #ubuntu #shapefile

#bash #postgresql #ubuntu #шейп-файл

Вопрос:

 DIRECTORY="/home/charm/Documents/tiger_files/"
cd $DIRECTORY

for f in *.shp;
do
    FILENAME="$(basename -s .shp "$f")"
    shp2pgsql -I -s 4269 $DIRECTORY $f ${FILENAME} > ${FILENAME}.sql
done
  

f захватывает все файлы в каталоге tiger_files, которые заканчиваются на .shp.

FILENAME = базовое имя файла .shp для присвоения имени новой таблице и создания sql-скрипта.

установлен shp2pgsql. Вы можете получить к нему доступ из командной строки.

shp2pgsql находится в usr / bin / shp2pgsql.

Цикл завершен успешно и создает пустой sql-скрипт — почему shp2pgsql не получает доступа?

Консоль сообщает: Не удается открыть / directory/.shp или / directory /.SHP. /directory /: файл dbf (.dbf) не может быть открыт.

Комментарии:

1. Простейшее из решений: объединение!

2. разбейте $ DIRECTORY и $ f вместе. Нет пробела. $ DIRECTORY $ f = теперь это работает как по волшебству!

3. Тем не менее, вы должны использовать двойные кавычки вокруг любой переменной, которая содержит имя файла.