Псевдоним с терминальным гномом очень нечетным действием

Вот строка из моего файла псевдонимов, который делает ее поэтому каждый раз, когда я открываю свой терминал, она открывает 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, делают то, что делает вышеупомянутая строка кода.

3
задан 30 October 2015 в 22:11

1 ответ

Ваша проблема происходит из-за неправильного использования одинарных кавычек, точно одинарных кавычек в одинарных кавычках.

От man bash:

символы Включения в одинарных кавычках сохраняет литеральное значение каждого символа в кавычках. Одинарная кавычка не может произойти между одинарными кавычками, даже когда предшествуется обратной косой чертой.

Так изменяют одинарные кавычки bash -c в завершенные двойные кавычки:

alias acc='gnome-terminal -e "bash -c \"cd ~/Downloads; vim jasonaccomp\""'
8
ответ дан 1 December 2019 в 13:16

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

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