Конфликт tcsh и bashrc
Я новый пользователь Ubuntu и сталкиваюсь с проблемой через некоторый процесс:
- Есть бесплатная программа под названием TDEFNODE, написанная на Fortran и работающая под Ubuntu. Итак, я только что установил Ubuntu 14 на виртуальный диск.
- Мой друг скомпилировал программу, скачал "gfortran" и "tcsh" и поместил некоторый синтаксис в.bashrc, чтобы показать оболочке, что программа находится в какой-то папке.
- Программное обеспечение отлично работает с терминала и создает много файлов результатов. Некоторые из этих файлов используются для рисования определенных фигур и векторов.
- Программа нуждается в другой программе под названием GMT, поэтому я скачал ее со всеми пакетами из центра программного обеспечения Ubuntu.
Настоящая проблема, с которой я сталкиваюсь, заключается в следующем; файл, который называется "td_plot". Это еще один файл в папке программного обеспечения, который использует выходные файлы и программное обеспечение GMT вместе для рисования определенных типов файлов, таких как.ps. Пример команды выглядит так:
td_plot -p map -m aaaa -obsv -calc
А это значит: постройте карту, результаты которой находятся в файлах ".aaaa". И покажите "наблюдательные" и "рассчитанные" векторы на этой карте.
Эта команда создает файлы, но файлы содержат карты без этих векторов.
Как я понял, в этом файле td_plot есть команды, используемые в "tcsh", и проблема с разбором заключается именно в этом.
Весь процесс, который я проделал до этого момента, выполняется под Bashrc.
Любые идеи, чтобы правильно запустить этот файл tcsh?
Благодарю.
3 ответа
Как я понимаю до сих пор, проблема в том, что скрипт полон команд из оболочки "tcsh". Скрипты начинаются с "#!/ Bin/tcsh -f", что означает запуск скрипта с помощью оболочки tcsh (которая установлена).
Но проблема остается той же, выходные файлы неверны и не имеют некоторых свойств.
Есть ли способ изменить оболочку на tcsh и запустить этот скрипт вместе с ней?
Наконец, я решил работать с этими программами. Я не хочу, чтобы эта тема была тупиковой, поэтому я просто объясню процесс установки. Может быть, это будет полезно как-то:
- Установка и следующий процесс, похоже, зависят от версий программного обеспечения.
- Я установил Ubuntu 16.04 на виртуальную машину VMware (4 процессора, 4 ГБ ОЗУ).
- Установите netcdf(libnetcdf-dev) и gdal(libgdal1-dev).
- Загрузите GMT-4.5.14, GSHHG-GMT-2.3.4, GMT4param.txt и install_gmt4.sh
- Измените параметры в GMT4param.txt: GSHHG_ftp=n GSHHG_path= (путь установки) GMT_ftp=n GMT_prefix= (путь установки) GMT_delete=n
- Установите эти файлы, используя: sudo sh install_gmt4.sh GMT4param.txt
- Добавьте PATH GMT в ваш файл.bashrc.
Эти шаги для GMT.
Для TDEFNODE:
- Загрузите и скомпилируйте TDEFNODE.
- Поместите все файлы в каталог.
- Укажите PATH для TDEFNODE и td_plot в.bashrc
- Установите пакет tcsh.
Теперь программа работает и работает с GMT. Кажется, пока нет ошибок.
(используя Ubuntu в этой установке)
сначала вы должны загрузить tdefnode, используя эту ссылку (файл README здесь ) и некоторые другие приложения .
sudo apt install make
sudo apt install gcc
sudo apt install gfortan
sudo apt install gmt
sudo apt install make
sudo apt install tcsh (this one is optional I guess)
помните, где бы вы ни нуждались в .bashrc, откройте его, используя
sudo nano ~/.bashrc
и везде, где вы хотите добавить что-то в PATH, используйтеsudo export PATH=$PATH:/address to file/
. для нахождения адреса использования файлаpwd
затем извлеките его где-нибудь, например
/home/user/TDEFNODE/
; загрузите это и выполните указанные шаги для установки
А для получения дополнительной информации о PATH прочитайте эту статью
затем загрузите td_plot и добавьте эти строки в .bashrc:
export TD_HOME=/home/asdfgh/TDEFNODE
alias tdefnode='/home/asdfgh/TDEFNODE/tdefnode'
alias td_plot='/home/asdfgh/TDEFNODE/td_plot'
PATH=/usr/bin/gmt/:"${PATH}"
PATH=/etc/gmt/:"${PATH}"
PATH=/usr/lib/gmt/:"${PATH}"
PATH=/usr/bin/X11/gmt:"${PATH}"
PATH=/usr/share/gmt/:"${PATH}"
PATH=/usr/lib/gmt/bin/:"${PATH}"
PATH=/home/asdfgh/TDEFNODE/td_plot:"${PATH}"
как упоминалось здесь:https://ubuntuforums.org/showthread.php?t=2365967
как я пробовал, td_plot и tdefnode должны работать правильно. задавайте любые другие вопросы в комментарии, я надеюсь, что смогу вам помочь. :)