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

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

/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 

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

  • Как autocd в tcsh?
  • Есть ли простой способ сменить каталоги из одной структуры дубликатов папок в другую?
  • Как работать с символическими ссылками на каталоги
  • Помогает ли родительский скрипт bash запомнить историю cd из сценария child bash?
  • Вкладка для отображения содержимого каталога
  • Как создать ZIP-архив, который сохраняет только структуру целевого каталога и ниже?
  • Получить zsh не для завершения работы пользователей
  • Запустить сценарий оболочки при навигации по каталогу с помощью cd
  • Существует ли эквивалентный способ запоминания каталогов на смонтированных томах, таких как DOS
  • Не удается получить доступ к каталогу / etc / ppp / peers?
  • как создать пользовательскую команду zsh auto_cd
  • Interesting Posts
    Linux и Unix - лучшая ОС в мире.