Я хотел бы создать псевдоним для rm
команды, чтобы получить подтверждающее сообщение после выполнения этой команды. Итак, я создаю псевдоним, как это alias rm='rm -i'
. Но, насколько я знаю, это временный псевдоним, и он действует, пока вы не закроете терминал.
Как объясняется здесь, чтобы сохранить псевдоним постоянно, мне нужно выполнить ~/.bash_aliases
или ~/.bashrc
команды в терминале и добавить мой псевдоним там. Но когда я выполняю, ~/.bashrc
я получаю следующее сообщение об ошибке:
bash: /home/bakhtiyor/.bashrc: Permission denied
При запуске ~/.bash_aliases
я получаю другое сообщение об ошибке, подобное этому:
bash: /home/bakhtiyor/.bash_aliases: File or directory doesn't exist.
Какова актуальная проблема и как я могу ее решить?
alias rm='rm -i'
не решает проблему использования rm случайным образомОтветы:
Чтобы создать псевдоним, добавьте псевдоним в свой
.bashrc
файл навсегда.А затем добавьте свой псевдоним внизу.
Теперь выполните
. ~/.bashrc
в вашем терминале (должен быть пробел между.
и~/.bashrc
.Теперь вы можете проверить свой псевдоним.
источник
source
. С. ~/.bashrc
, вы источник вашего Баш. Выполнение файла запустит дочерний процесс, выполнит команды в этом процессе и вернется. Все, что делается в дочернем процессе, не влияет на родительский процесс (bash, из которого вы выполнялись). Вместо этого сорсинг (с точкой) действует точно так же, как если бы вы записали содержимое файла в терминал. Это то, что вы хотите..bashrc
поставляется каждый раз, когда вы начинаете bash. Если вы внесете изменения, они не будут применены, пока вы не запустите новый bash или исходный код вручную.Есть много способов создать псевдоним. Наиболее используемые способы:
Добавить псевдонимы прямо в вашем
~/.bashrc
файлеНапример: добавить эти строки в
~/.bashrc
файлВ следующий раз (после того, как вы вышли из / в или сделаны
. ~/.bashrc
) при вводе команда будет выполнена.rm
rm -i
Второй метод позволяет вам создать отдельный файл псевдонимов, так что вам не нужно будет вставлять их
.bashrc
, а в файл по вашему выбору. Сначала отредактируйте свой~/.bashrc
файл и добавьте следующие строки, если они еще не существуют, или раскомментируйте их, если они есть:Сохраните его и закройте файл. После этого все, что вам нужно сделать, это создать
~/.bash_aliases
файл и добавить туда псевдонимы с тем же форматом, который указан в первом методе.Содержание моего
~/.bash_aliases
файла:источник
~/.bash_aliases
.alias aliases="xdg-open ~/.bash_aliases && source ~/.bash_aliases"
, поэтому псевдоним стал полезным при сохранении, и если вы допустите какую-либо ошибку, он объявит вас.alias ls='ls -althr'
, некоторые из указанных флагов не вступили в силу, в этом случае флаг -t не вступил в силу. ты знаешь почему?~/.bashrc
содержит включение для~/.bash_aliases
, нет необходимости редактировать его.Мне кажется, что ваша единственная проблема - просто попытаться выполнить .bashrc, когда он не исполняется. Но это не правильный способ сделать это; всякий раз, когда вы вносите изменения в этот файл, вы должны «выполнить» его командой:
В противном случае он просто создаст новую оболочку, выполнит файл в среде новой оболочки, а затем откажется от этой среды, когда выйдет, и тем самым потеряет ваши изменения. Используя сценарий, он выполняется в текущей оболочке, поэтому он остается в силе.
Я предполагаю, что вторая ошибка была, потому что bash_aliases не существует. Это не обязательно, просто рекомендуется хранить ваши изменения отдельно и организованно. Он используется только в том случае, если он существует, и вы можете увидеть тест для него в .bashrc:
Это говорит о том, что если файл ~ / .bash_aliases существует, то запустите его.
источник
~/.bash_aliases
это лучше. askubuntu.com/questions/194111/...source
команды заставило мои псевдонимы работать. +1. ~/.bash_aliases
имеет то же значение, что и встроенная команда оболочкиsource
. Я считаю, что это правильный ответ, объясняющий, что происходит.Проблема в том, что вы пытаетесь выполнить неисполняемый файл: это можно проверить с помощью:
Обратите внимание, что в первом столбце нет буквы «x - исполняемый файл» (права доступа к файлу).
Файлы профиля не являются исполняемыми файлами, вместо их загрузки вы загружаете их:
или же
источник
Это пример, который я искал, способ ввода нескольких букв на терминале («vps») для удаленного входа на сервер и включения переадресации X11, чтобы я мог запускать приложения с графическим интерфейсом, такие как «gedit», по сети.
Какой бы ни была команда / псевдоним команды, этот способ с оператором echo, кавычками и символом добавления вывода команды в файл (>>) работает для меня. Просто замените мою команду на нужную вам команду псевдонима и введите ее в свой терминал.
источник
если вы используете ruby, вы можете установить aka, используя rubygem.
gem install aka2
использование
rubygem автоматически установит ваш точечный файл, так что вам это не нужно. Проверьте это.
источник
Я написал эту полезную функцию, чтобы быстро создать новый псевдоним, а затем записать определение псевдонима в
~/.bash_aliases
(если он существует) или~/.bashrc
.СОВЕТ : Убедитесь, что
~/.bash_aliases
существует и выполняется в~/.bashrc
.источник
.bashrc
нескольких экземплярахalias
команды. Ваша функция определенно должна реализовать некоторые проверки, чтобы избежать таких помех.Я бы предложил использовать
/etc/bash.bashrc
Вы можете добавить строку в конце этого файла.
После размещения псевдонимов в каждой строке вы должны перезагрузить или повторно войти в систему.
источник
source /etc/bash.bashrc
делаете все, что хотите в этом примере. Но стоит использовать~/.bashrc
или~/.bash_aliases
вместоНасколько я помню,
bashrc
есть или была строка, предлагающая не использовать его для псевдонимов напрямую. Решение заключается в использовании внешнего файла (ов).foo
Иbar
псевдонимы , которые были добавлены, но добавить файл должен быть «получен» (или просто открыть новый терминал). Пример как:baz
bashrc
теперь
baz
псевдоним работает. Я только сейчас понял, что в предыдущем ответе упоминалась эта техника, но они похоронили Леду.источник