Псевдоним для открытия нескольких текстовых файлов в различных каталогах от терминала

После часов поиска и попытки различных gedit плагинов мне не удалось добавить средство сохранения сессии к gedit для открытия некоторых файлов в Ubuntu 14.04 (см. здесь).

Так, я пытаюсь создать постоянный псевдоним удара, редактируя ~/.bashrc добавить его.

Псевдоним:

alias a="
         cd /home/konstantinosubuntu/Desktop/abc && gedit test1.c
      && cd /home/konstantinosubuntu/Desktop/xyz && gedit test2.c"

Затем я использую . ~/.bashrc для перезагрузки изменений, я сделал к псевдонимам. Но этот псевдоним только открывает первый файл (здесь, test1.c) и если я обмениваюсь строками 2, и 3 он открывает test2.c. Это означает, что нет никакой проблемы с путем. Вместо этого ошибка, которую я получаю, во втором && который является ударом: синтаксическая ошибка около неожиданного маркера '&& '. Почему эта ошибка появляется? Какой псевдоним я должен использовать для открытия нескольких файлов сразу?

0
задан 17 August 2014 в 04:42

1 ответ

На том, как записать этот псевдоним:

Псевдоним не должен открывать файлы отдельно - gedit может взять несколько файлов.

alias a="gedit ~/Desktop/abc/test1.c ~/Desktop/xyz/test2.c"

Это также заменяет путь Вашего корневого каталога ~. Если это должно работать на других пользователей, использовать ~konstantinosubuntu вместо ~.

Для создания команды независимой от терминала, так, чтобы это продолжало бежать при закрытии терминала можно добавить & выполнять его в фоновом режиме, и nohup чтобы заставить его не выйти, когда терминал закрывается:

alias a="nohup gedit ~/Desktop/abc/test1.c ~/Desktop/xyz/test2.c &"


На синтаксисе Вашего примера:

Проблема с && это && потребности, которые будут помещены в конце предыдущей строки. Иначе конец строки является просто концом команды - без проблем до сих пор - и запуск следующей строки не имеет "&&", который не имеет никакого смысла в этом месте.

alias a="
         cd /home/konstantinosubuntu/Desktop/abc && gedit test1.c &&
         cd /home/konstantinosubuntu/Desktop/xyz && gedit test2.c"

Как альтернатива, целый псевдоним мог быть помещен в одну строку. Или, очень похожее, продолжение строки с \в конце строки могло использоваться. Это записало бы это как две строки, но выполнило бы его как одну строку, логически.

Вы отмечаете в своих комментариях что первое gedit потребности, которые будут закрыты перед вторым файлом, являются opended, и что Вы не хотите это. Команда gedit file.txt выполнения gedit на переднем плане, если это - первая инстанция. Если gedit уже работает, это открывает новую вкладку в том экземпляре и выходы. Заставить псевдоним открыть оба файла в gedit одновременно, выполнить первую инстанцию в фоне с &. Это не сотрудничает с &&, это должно быть удалено:

alias a="
         cd /home/konstantinosubuntu/Desktop/abc && gedit test1.c &
         cd /home/konstantinosubuntu/Desktop/xyz && gedit test2.c"

(Интересный, как это только отличается одним символом, но очень отличается в значении.)

В случае, если Вы намеревались иметь несколько текущих рабочих каталогов, в некотором роде связанных с выполнением gedit при помощи cd команды, которые не могут работать. Процесс имеет точно один текущий рабочий каталог. Это будет то первого gedit инстанцируйте здесь.


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

0
ответ дан 7 October 2019 в 06:19

Другие вопросы по тегам:

Похожие вопросы: