Вот строка из моего файла псевдонимов, который делает ее поэтому каждый раз, когда я открываю свой терминал, она открывает jasonaccomp в редакторе Vim.
alias acc='gnome-terminal -e "bash -c 'cd ~/Downloads; vim jasonaccomp'"'
после выхода из документа энергии я вижу
bash: alias: /home/master/Downloads: not found
Это все - прежде чем я даже назову acc. Для создания это еще хуже, следующий код, когда выполнено в моем корневом каталоге, работает точно, поскольку я хотел бы его к. Это открывает новый терминал, который открывает jasonaccomp и когда я сделан, редактируя, терминальные завершения.
gnome-terminal -e "bash -c 'cd ~/Downloads; vim jasonaccomp'"
Также команда acc при вводе дает мне> с мерцающим курсором. Как я избавляюсь от необходимости отредактировать jasonaccomp каждый раз, когда я открываю новый терминал? Также, как делают у меня есть acc, делают то, что делает вышеупомянутая строка кода.
Ваша проблема происходит из-за неправильного использования одинарных кавычек, точно одинарных кавычек в одинарных кавычках.
От man bash
:
символы Включения в одинарных кавычках сохраняет литеральное значение каждого символа в кавычках. Одинарная кавычка не может произойти между одинарными кавычками, даже когда предшествуется обратной косой чертой.
Так изменяют одинарные кавычки bash -c
в завершенные двойные кавычки:
alias acc='gnome-terminal -e "bash -c \"cd ~/Downloads; vim jasonaccomp\""'