Как добавить псевдоним системы?

У меня есть этот псевдоним в моем .zshrc :

 alias grim='gvim --remote' 

Но это не видно из диспетчера файловой системы Ranger, я считаю, что рейнджер запускает «общую» оболочку, пропускающую мой .zshrc . Я хочу сделать этот псевдоним видимым в каждой оболочке.

Я добавил его в ~/.profile и /etc/zsh/zshrc но никакого эффекта. Чтобы быть конкретным, получил это сообщение:

 /bin/sh: grim: not found 

  • Совместное использование псевдонимов и настроек PATH между zsh и bash
  • вызов функции Bash из определения псевдонима
  • cp -f не может перезаписать cp -i alias
  • Предотвращение использования `cd ..` в bash?
  • Создание нескольких временных псевдонимов
  • су и смешение алиасов
  • расширение псевдонимов команды
  • Идентифицировать псевдоним для введенной команды
  • 4 Solutions collect form web for “Как добавить псевдоним системы?”

    Только интерактивные оболочки читают файл, который может содержать определения псевдонимов. Если вы хотите использовать псевдоним для команды в фрагментах оболочки, выполняемых приложениями, псевдоним не является правильным инструментом. Вместо этого напишите сценарий оболочки следующим образом:

     #!/bin/sh gvim --remote "$@" 

    Назовите его ~/bin/grim и сделайте его исполняемым. Убедитесь, что у вас есть ~/bin в вашем PATH (вы можете поместить скрипт в любой другой каталог, который находится в вашем PATH ).

    Если вы хотите, чтобы он работал для каждого пользователя в системе, поместите его в /usr/local/bin чтобы убедиться, что этот каталог находится в PATH каждого пользователя.

    Вы можете создать файл alias.sh в каталоге /etc/profile.d

    Напишите строку

     alias grim='gvim --remote' 

    внутри этого файла alias.sh

    Это создаст общесистемную настройку.

    Вместо alias.sh вы можете использовать любое другое имя файла, заканчивающееся на .sh

    Вы можете взломать ~ / .config / ranger / commands.py и заменить последнюю строку в shell.execute ():

     self.fm.execute_command(command, flags=flags) 

    с

     self.fm.execute_command("bash -c '" + command + "'", flags=flags) 

    Меня устраивает.

    Вы что-то сделали? :

    source /path/to/.profile

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