открыть новые результаты терминала в редактировании файла bash_aliases

Я получил мои псевдонимы в моем файле .bash_aliases. Со вчерашнего дня, когда я хочу добавить псевдоним, как alias gpuo='git push --set-upstream origin'. Во-первых, он не находит его, а во-вторых, он открывает этот файл каждый раз, когда я открываю новое окно терминала. Также мне предлагают 2 файла для редактирования. Но есть только один файл псевдонимов bash. Я проверил это командой find.

alias g='git'
alias gst='git status'
alias ga='git add'
alias gb='git branch'
alias gc='git checkout'
alias gcb='git checkout -b'
alias gpo='git push origin'
alias gf='git fetch'
alias gcm='git commit -m'
alias gp='git pull'
alias grom='git rebase origin/master'
alias gstash='git stash'
alias gstasha='git stash apply'
alias upgrade='sudo apt-get update && sudo apt-get dist-upgrade && sudo apt-get autoremove'
alias cl='clear'
alias alias='vim ~/.bash_aliases'

РЕШЕНО:

Когда я переписывал свой вопрос, как предложено в комментариях, я заметил там, где псевдоним, который я назвал alias. Это вызвало рекурсивное поведение. Спасибо за толчок в правильном направлении;)

2
задан 26 August 2019 в 18:45

1 ответ

Исходный плакат нашел решение при осмотре ~/.bash_aliases и обеспеченный его в редактировании:

Как я переписывающий мой вопрос, как предложено в комментариях, я заметил там, где псевдоним, который я назвал alias. То вызванное рекурсивное поведение. Спасибо за нажатие в корректном направлении ;)

Чтобы подробно остановиться на этом немного, это было строкой в ~/.bash_aliases это вызвало проблему, которая могла просто быть удалена:

alias alias='vim ~/.bash_aliases'

Строго говоря проблема не была вызвана рекурсией. bash не разворачивает псевдонимы рекурсивно. Например, большинство пользователей Ubuntu имеет alias ls='ls --color=auto', и это не вызывает проблем; ls в псевдониме самостоятельно не расширено определение.

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

Когда alias команда используется обычным способом определить псевдонимы, это имеет один аргумент (например, gpuo='git push --set-upstream origin'). Это объясняет наблюдение, что были открыты два файла:

Кроме того, мне предлагают с 2 файлами отредактировать.

Если бы такие файлы были сохранены, то их имена имели бы = войдите в систему их. Могло бы стоить искать такие файлы, чтобы проверить, что они были созданы неумышленно и затем удаляют их. Но если они не были сохранены, vim не создал бы их.

1
ответ дан 2 December 2019 в 04:36

Другие вопросы по тегам:

Похожие вопросы: