Создать псевдоним для каталога рабочего стола

Если я набираю cd Desktop , независимо от того, в какой папке открыт терминал, я хочу, чтобы он перемещался в /home/bob-ubuntu/Desktop

В моем файле .bashrc меня есть следующие строки внизу:

alias desktop='/home/bob-ubuntu/Desktop'

alias Desktop='/home/bob-ubuntu/Desktop'

и затем я его источник, но когда я набираю cd Desktop или cd desktop он все равно дает ту же ошибку?

3 Solutions collect form web for “Создать псевдоним для каталога рабочего стола”

 alias desktop='/home/bob-ubuntu/Desktop' cd desktop 

Псевдоним – это имя команды. Параметр команды cd не является именем команды. Псевдоним не используется в этом контексте.

Если вы набираете только desktop , это вызывает псевдоним. Но по умолчанию вы получите сообщение об ошибке

 bash: /home/bob-ubuntu/Desktop: Is a directory 

Добавьте строку shopt -s autocd в ваш ~/.bashrc так что ввод имени каталога в позиции команды выполняет cd в этом каталоге. Таким образом вы можете перейти в каталог ~/Desktop , набрав только ~/Desktop (вместо cd ~/Desktop ) или, используя свой псевдоним, desktop .

Кроме того, определите псевдоним команды, которая работает:

 alias desktop='cd /home/bob-ubuntu/Desktop' 

Есть много способов:

  • Вы можете сделать переменную для $desktop и / или $D в качестве ярлыка для нее.
  • Вы можете использовать alias desktop='cd /home/bob-ubuntu/Desktop'
  • Вы можете использовать $USER/Desktop
  • Вы можете использовать $XDG_DESKTOP_DIR если установлены каталоги пользователей XDG .
  • Вы можете добавить /home/bob-ubuntu в переменную среды CDPATH команды cd

Но вам действительно лучше просто использовать:

 cd ~/Desktop 

Тильда не должна болеть! : D

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

 cd ~root ls ~ftp echo ~nobody 

Как предложил icarus в комментариях, один простой способ – создать псевдоним, который делает cd ~/Desktop

Однако, если вы действительно хотите, чтобы cd вел себя так, вы можете использовать функцию cd которая обрабатывает проверку, является ли каталог Desktop :

 _cd () { if [ "$1" == "Desktop" ]; then cd ~/Desktop else cd $1 fi } alias cd="_cd" 

Однако это также приводит к завершению табуляции для cd

  • chmod + бесшумный режим + как код выхода из команды 0, несмотря на ошибку
  • Поиск подстроки без учета регистра в скрипте оболочки
  • Цикл forach для вывода ls
  • Можно ли обновить оболочку в сценарии оболочки?
  • выполнить ac prog в фоновом режиме с помощью сценария оболочки
  • Странное поведение «sh -c» при прохождении через ssh
  • Название файла печати, измененная дата и размер с заголовком
  • Почему соответствует строчным буквам в bash?
  • Первая строка сценария
  • Сценарий оболочки для чтения вывода команды
  • Получайте отдельную информацию о памяти из free -m comand
  • Есть ли версия команды «Найти», которая сохраняет свое состояние?
  • Linux и Unix - лучшая ОС в мире.