Новая вкладка gnome-terminal с псевдонимом как команда для выполнения
Я создал псевдоним в файле .bashrc
следующим образом
alias myproject = 'cd ~/Desktop/myproject'
После сохранения файла при перезагрузке терминала введите myproject
в каталог проекта, но когда я попытаюсь использовать псевдоним в качестве аргумента команды на новой вкладке gnome-terminal
, он выдает ошибку,
gnome-terminal --tab -e "myproject"
выдает ошибку
There was an error creating the child process for this terminal
Failed to execute child process "myproject" (No such file or directory)
Что не так с этим?
Ответы
Ответ 1
Когда запускается оболочка bash, по умолчанию bash
выполняет команды, указанные в .bashrc
. Вот как ваша оболочка знает ваши alias
es.
Теперь ваша идея не работает, потому что gnome-terminal
никогда не видит ваш файл .bashrc
.
Вы можете попробовать
gnome-terminal --working-directory='<path-to-your-home-directory>/Desktop/myproject/
Ответ 2
Я пытался сделать что-то подобное... возможно, не совсем то, что вы хотите, но:
alias startMyRailsProject='cd ~/Desktop/myproject; gnome-terminal --tab --tab -e "rails s" --tab -e "rails c"; exit'
Это:
- меняет каталог, куда я хочу
- запускает новый терминал gnome (в правильном каталоге ранее)
- создает вторую вкладку и запускает мой сервер rails
- создает третью вкладку и запускает консоль моих рельсов
- а затем закрывает исходное окно терминала, из которого я его вызываю.
Он делает то, что мне нужно, и сохраняет кучу повторяющихся нажатий клавиш :-)
ура
Ответ 3
Насколько я знаю, gnome-terminal, похоже, использует определенный файл с именем .alias
в домашнем каталоге, чтобы сохранить постоянные псевдонимы. Я обнаружил это, читая строку test -s ~/.alias && . ~/.alias || true
в моем файле .bashrc
.
Итак, что было трюком в моем случае
- Создание файла
.alias
в моем доме
- Редактирование этого файла для включения строки
alias myproject = 'cd ~/Desktop/myproject'
- Перезагрузка моего терминала
Ответ 4
Мне удалось заставить некоторые из них работать, мне не хватает моих псевдонимов, но я могу запустить нужную программу следующим образом:
gnome-terminal --window --title="testtitle" -- $SHELL -c "<path to script/application>/<script/application> <arguments>;"
Пример:
gnome-terminal --window --wait --title="testtitle" -- $SHELL -c "echo test;read -p \"press any key to exit\" -n 1 ;"