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

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

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

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

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

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

  • Объединение зависимостей со сценариями оболочки
  • Разница между $ OPTIND и $ #
  • замените '_' на ',' в файле, который содержит список имен файлов
  • Невозможно добавить службу запуска для openWRT из init.d
  • Что случилось с этой командой xargs?
  • GDB не может выполнить мою тестовую программу
  • Сценарий оболочки декодирования Url
  • Сжатие старого файла журнала в один zip-linux
  • 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

    Interesting Posts

    Внедрение сервера внезапно

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

    Ошибка при загрузке зашифрованного диска: не удается инициализировать устройство-картограф

    Установка настоящих rootfs после начальной загрузки с использованием initrd

    Как использовать SELinux для отклонения изменений приложений в домашнем каталоге?

    SED или AWK: добавьте символ в каждую строку после найденного шаблона

    Как удалить точку и пробел с начала имен файлов

    Используйте файл списка, чтобы извлечь второй список из главного файла (и прокомментировать некоторые строки) … КАК?

    Настроить и скомпилировать syslog-ng из источника, получил: нити не поддерживаются на этой платформе

    смонтировать Linux NFS. rpc.statd не работает

    Общие сведения об исключениях проверки компьютера (MCE)

    Рекомендуемый способ связать команду с окружающей средой?

    приоритет пути setenv

    Не удалось добавить eth0 в Rhel 7

    Может ли Ctrl + C отправить сигнал SIGINT нескольким процессам?

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