Рейтинг:3

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

флаг sh

Привет (извините за мой плохой английский)

Я только что узнал, как навсегда установить ключ для определенного значения, используя псевдоним:

.bashrc

псевдоним пожалуйста = 'sudo'
псевдоним go='cd'
псевдоним destroy='rm -rf'

И это прекрасно работает. но потом я подумал, как было бы весело, если бы я мог хранить свои любимые пути (например, ~/Music) в .bashrc для более удобного использования. поэтому я сделал это:

псевдоним пожалуйста = 'sudo'
псевдоним go='cd'
псевдоним destroy='rm -rf'

псевдоним home='~'
псевдоним work='~/Workstation'
псевдоним назад='..'

но это не сработало. Я также попытался определить такие переменные: назад = '..' и это тоже не сработало.

я знаю, что могу сделать псевдоним gowork='cd ~/Workstation'
но я хочу иметь возможность использовать путь, который я сохранил во многих разных командах, например:

уничтожить работу

и я хочу иметь возможность делать такие вещи:

вернуться назад/Картинки

Любая помощь будет принята с благодарностью, спасибо, ребята!

Рейтинг:9
флаг cn

«Псевдоним» — это аббревиатура команды оболочки. Ваше определение псевдоним home='~' не работает, потому что не указывает правильную команду:

~ $ ~
bash: /home/vanadium: это каталог

Таким образом, этот подход не позволяет вам заменить полное имя пути более коротким именем, которое вы можете использовать в командах.

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

Для других путей вы можете определить переменные среды, которые, как и псевдонимы, можно сделать постоянными, включив их в .bashrc:

экспортировать работу=~/рабочая станция

который затем можно использовать в команде как

компакт-диск $ работа

и который будет работать с другими вашими псевдонимами, например.

уничтожить работу

Примечания при работе с путями с пробелами:

• Если имя пути, определенное в переменной, содержит пробелы, вам нужно будет заключить переменную в кавычки, как в

компакт-диск "$ работа"

• Если вы определяете переменную с пробелами, вам необходимо сохранить символы, которые расширяются с помощью bash, например. ~, без кавычек, как в

export work=~"/Путь с пробелами"
YoloWex avatar
флаг sh
Вроде правильно, но возвращает ```frnr@frnr-System-Product-Name:~$ go $work bash: cd: ~/Workstation: нет такого файла или каталога ```
vanadium avatar
флаг cn
@ bac0n спасибо, да, кавычки предотвращают расширение «~» при установке переменной: ~ затем становится буквальной частью переменной и не расширяется при получении ее значения в команде. Исправленный!
YoloWex avatar
флаг sh
удаление кавычек сработало!! большое спасибо ! вы, парень, вкусны жизни. @ванадий

Ответить или комментировать

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