Intereting Posts
Awk: печать последних N столбцов, где N передается через переменную Поиск по страницам C ++ STL без необходимости добавлять «std ::» каждый раз Как создать локальные репозитории в RHEL Почему я не могу выполнить процесс? Каковы обязанности каждого компонента Pseudo-Terminal (PTY) (программное обеспечение, ведущая сторона, подчиненная сторона)? Переименование или создание уникальных имен файлов Регулярное выражение для замены экземпляра двух последовательных строк, которые могут быть разделены пробелами Какие инструменты для визуализации портфолио ASCII? Вырезать корневой раздел с помощью другого жесткого диска Как запустить сервер через ssh и запустить его после выхода из системы? Магический номер для новой файловой системы Где я могу найти сценарий оболочки для разбора JSON на busybox? Zsh: команды быстрого закладки Безопасно ли заставлять fdisk использовать границу сектора 63? Arch Linux: Должен ли я хранить службу dhcpd, если я использую connman?

Как добавить псевдоним без прямого редактирования файла `bash_aliases`?

Есть ли способ добавить псевдоним из командной строки без прямого редактирования файла bash_aliases? Чтобы уточнить, как я могу сделать сценарий bash, не делайте этого, не nano bash_aliases что-то по строкам nano bash_aliases чтобы добавить их?

    Предполагая, что вы используете bash_aliases (это необязательно, вы также можете иметь псевдонимы, определенные в .bashrc среди других мест), вы можете просто добавить строку в файл:

     printf "alias foo='bar'" >> ~/.bash_aliases 

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

     alias foo='bar' 

    Важный

    Bash не позволяет расширять (работать) псевдонимы по сценариям по умолчанию, вам нужно активировать опцию expand_aliases :

     #!/usr/bin/env bash alias foo='echo "It works!"' echo " Alias defined, attempting to use without expand_aliases" foo shopt -s expand_aliases echo " Attempting to use with expand_aliases" foo 

    Если я запустил скрипт выше, псевдоним foo будет работать только после того, как я активировал параметр expand_aliases :

     $ a.sh Alias defined, attempting to use without expand_aliases /home/terdon/scripts/a.sh: line 5: foo: command not found Attempting to use with expand_aliases It works! 

    Просто выполните псевдоним, как в bash_alias.

     alias lt='ls -altrch' 

    Проверьте с помощью команды type.

     type alias lt is aliased to 'ls -altrch' 

    Вы также можете использовать HEREDOCS для добавления нескольких строк:

     ( cat <<EOF alias ali1='cmds1...' alias ali2='cmds2...' EOF ) >> ~/bash_aliases 

    Вышеприведенное может быть скопировано в оболочку.

    Результаты

     $ more ~/bash_aliases alias ali1='cmds1...' alias ali2='cmds2...' 

    Кроме того, вы можете просто создать новый скрипт для запуска. Создайте файл / usr / local / bin / start_node_blog со следующим содержимым:

     #!/bin/bash that_long_fiddly_command_you_mentioned 

    Тогда сделайте

     chmod +x /usr/local/bin/start_node_blog 

    и вы можете запустить его после перезагрузки.