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

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

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

  • Использование AWK для преобразования чисел в 0 или 1
  • Как заставить пользователя нажать Enter для выхода в терминал, чтобы терминал не закрывался автоматически?
  • Передача нескольких аргументов в sudo внутри функции
  • Получите внешний IP-адрес в оболочке без выкопания в 2016 году?
  • Декодировать флаги для команды Kill
  • Сценарий оболочки Bash для поиска и удаления подстроки в имени файла
  • alias desktop='/home/bob-ubuntu/Desktop'

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

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

  • Исправить символические ссылки после изменения версии
  • bash не может хранить hexvalue 0x00 в переменной
  • Можете ли вы поместить оператор if в цикл while?
  • Где хранится история Баша?
  • Как написать скрипт для чтения SSID и пароля Wi-Fi с USB-накопителя при загрузке и автозагрузке в сеть Wi-Fi
  • Bash: показать содержимое текстового файла, при каждом появлении выделенного слова
  • 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

    Linux и Unix - лучшая ОС в мире.