Как опустить символ $ при вводе пути, хранящегося в переменной?

У меня часто используется каталог. Предположим, что это:

/etc/insserv.conf.d/testname 

Я установил переменную в моем /root/.bashrc :

 mydir=/etc/insserv.conf.d/testname 

Теперь я могу открыть этот каталог с помощью этой команды

 cd $mydir 

Но мне действительно не нравится этот символ $ . Есть ли способ обхода? Я имею в виду: я хочу открыть этот каталог только cd mydir , возможно ли это в Ubuntu 16.04 ?

3 Solutions collect form web for “Как опустить символ $ при вводе пути, хранящегося в переменной?”

Вы ищете вариант cdable_vars . Чтобы активировать его, запустите shopt -s cdable_vars если вы используете bash ( setopt cdablevars в случае zsh). После этого будет работать простой cd mydir .

Обратите внимание : если вы попытаетесь cd mydir из каталога, содержащего файл или каталог с тем же именем, то оболочка попытается использовать объект файла или каталога в текущем каталоге вместо того, чтобы расширять переменную.

Как насчет просто:

 mydir 

Просто определите переменную, как вы уже сделали, и создайте функцию:

 mydir=/etc/insserv.conf.d/testname mydir(){ cd "$mydir"; } и mydir=/etc/insserv.conf.d/testname mydir(){ cd "$mydir"; } 

Готово.

Альтернативой является использование псевдонима:

 alias mydir='cd "$mydir"' 

Вы должны использовать глобальный псевдоним. Кажется, что bash не поддерживает его, но он отлично работает с zsh.

демонстрация

<code>% alias -g asd = "bsd"; echo asd </ code> -> <code> bsd </ code>

Монтаж

 $ sudo apt install zsh 

Чтобы получить то же самое, что и мое, вы должны

  • Установите Oh My Zsh:

     sh -c "$(curl -fsSL https://raw.github.com/robbyrussell/oh-my-zsh/master/tools/install.sh)" 
  • Замените свою тему на agnoster:

     sed 's/^ZSH_THEME=".*"$/ZSH_THEME="agnoster"/' -i .zshrc 
  • И установите шрифты Powerline, чтобы заставить agnoster работать:

     curl https://pastebin.com/raw/nD4DTpuF | bash 
  • Установите плагин подсветки синтаксиса:

    • Скачать

       git clone git://github.com/zsh-users/zsh-syntax-highlighting.git .oh-my-zsh/custom/plugins/zsh-syntax-highlighting 
    • И примените:

       sed 's/^plugins=\((.*)\)$/plugins=(\1 zsh-syntax-highlighting)' 
    • Наконец, перезагрузите настройки конфигурации:

       source .zshrc 

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

  • Как не показывать путь после команды cd с помощью набора CDPATH?
  • Позволяет просматривать и заполнять файлы из другого каталога
  • изменение текущего рабочего каталога со сценарием
  • Ключ Я могу удерживать только вкладку, заполняющую папку
  • linux как cd к родительской папке, если она перемещается через символическую ссылку
  • выполнение команд в оболочке и отключение отображения команд по умолчанию в консоли
  • Не удается выполнить команду при запуске экрана GNU
  • Что такое ярлык bash для перехода к предыдущему каталогу?
  • Не удается получить каталог с папкой, в которой у меня есть разрешения для
  • Рип аудио CD с сохранением выделения и кодирования отдельно
  • Сценарий Bash SFTPing на удаленный сервер и загрузка файлов, cd в соответствующий каталог на локальной машине
  • Interesting Posts
    Linux и Unix - лучшая ОС в мире.