Ray
August 30, 2022, 1:05am
#1
私はエイリアスを作成したいと思います 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.
実際の問題は何ですか、どうすれば解決できますか?
エイリアスを永続的に作成するには、エイリアスを次の場所に追加します。 .bashrc
ファイル
gedit ~/.bashrc
そして、下部にあなたのエイリアスを追加します。
今すぐ実行 . ~/.bashrc
あなたの端末で(間にスペースがあるはずです .
と ~/.bashrc
.
今、あなたはあなたのエイリアスを確認することができます。
エイリアスを作成する方法はたくさんあります。 最も使用される方法は次のとおりです:
に直接エイリアスを追加する ~/.bashrc
ファイル
たとえば、次の行を次の行に追加します ~/.bashrc
ファイル
alias ll='ls -l'alias rm='rm -i'
次回(ログアウト/ログインした後、または完了した後 . ~/.bashrc
)と入力すると rm
その rm -i
コマンドが実行されます。
第二の方法は、あなたが別々のエイリアスファイルを作ることができますので、あなたはそれらを置く必要はありません .bashrc
、しかし、あなたの選択のファイルに。 最初に、あなたの編集して下さい ~/.bashrc
次の行がまだ存在しない場合はファイルを作成して追加し、存在する場合はコメントを解除します:
if [ -f ~/.bash_aliases ]; then. ~/.bash_aliasesfi
それを保存し、ファイルを閉じます。 その後、あなたがしなければならないすべてはaを作成することです ~/.bash_aliases
最初の方法で指定されたのと同じ形式で、そこにエイリアスをファイルして追加します。
私の内容 ~/.bash_aliases
ファイル:
alias cs='cd;ls'
Harley
August 30, 2022, 1:29am
#4
あなたの唯一の問題は単に実行しようとしているように私には聞こえます。実行可能でない場合のbashrc。 このファイルに変更を加えるたびに、コマンドで「実行」する必要があります:
source ~/.bashrc
それ以外の場合は、単に新しいシェルを作成し、新しいシェルの環境でファイルを実行し、終了時にその環境を破棄して変更を失います。 スクリプトを調達することにより、現在のシェル内で実行されるため、有効なままになります。
私は2番目のエラーがbash_aliasesが存在しないためだと仮定しています。 これは必須ではなく、変更を別々に整理しておくことをお勧めします。 それが存在する場合にのみ使用され、そのテストを見ることができます。bashrc:
if [ -f ~/.bash_aliases ]; then. ~/.bash_aliasesfi
これは、ファイル~/の場合と言います。bash_aliasesが存在し、それを実行します。
Maxx
August 30, 2022, 1:38am
#5
問題は、実行可能でないファイルを実行しようとしていることです。:
ls -la ~/.bashrc-rw-r--r-- 1 username username 3596 2010-08-05 17:17 /home/pt001424/.bashrc
最初の列には"x-executable"文字はありません(ファイル権限)。
プロファイルファイルは実行可能ファイルではなく、実行するのではなく、次のようにロードします:
source /home/bakhtiyor/.bashrc
または
. /home/bakhtiyor/.bashrc
echo "alias vps='ssh -X user@example.com'" >> ~/.bashrc
これは私が探していた例で、ターミナル(「vps」)に数文字を入力してサーバーにリモートでログインし、X11転送を有効にして、ネットワーク経由で「gedit」のようなguiアプリ
>>Command/aliasedコマンドが何であれ、echo文、引用符、コマンドの出力をfile()に追加するための記号を使用すると、このように機能します。 必要なaliasコマンドのmyコマンドを置き換えて、端末に入力してください。
Quinn
August 30, 2022, 1:56am
#7
私はこの便利な関数を書いて、新しいエイリアスをすばやく作成し、エイリアス定義を次のように記述しました ~/.bash_aliases
(存在する場合) または ~/.bashrc
.
ヒント :確保 ~/.bash_aliases
exists&で実行されます ~/.bashrc
.
# -----------------------------------# Create a new permanent bash alias## @param $1 - name# @param $2 - definition# -----------------------------------new-alias () { if [ -z "$1" ]; then echo "alias name:" && read NAME else NAME=$1 fi if alias $NAME 2 > /dev/null > /dev/null; then echo "alias $NAME already exists - continue [y/n]?" && read YN case $YN in [Yy]* ) echo "okay, let's proceed.";; [Nn]* ) return;; * ) echo "invalid response." && return;; esac fi if [ -z "$2" ]; then echo "alias definition:" && read DEFINTION else DEFINTION="$2" fi if [ -f ~/.bash_aliases ]; then echo "alias $NAME=\"$DEFINTION\"" >> ~/.bash_aliases else echo "alias $NAME=\"$DEFINTION\"" >> ~/.bashrc fi alias $NAME="$DEFINTION"}
rubyを使用している場合は、rubygemを使用してakaをインストールできます。
gem install aka2
使用法
aka generate hello="echo helloworld" #add an aliasaka g hello="echo helloworld" #add alias for lazy peopleaka destroy hello #remove aliasaka d hello #remove alias for lazy people
rubygemはdotファイルを自動ソースにするので、必要はありません。 それを見てください。
私はこのアイデアを拡大したいと思います!
あなたがしたい alias あなたの質問に応じたコマンド: echo "alias wolfr='cd /home/wolf'">>./~bashrc
これで、次のように入力できます wolfr
wolfのホームディレクトリに移動します。
これは非常に似ており、非常にクールです、 export コマンド: echo "export ngse=/etc/nginx/sites-enabled"./~bashrc
これで、次のように入力できます cp $ngse/my_file /destination_directory/destination_filename
サイトが有効なディレクトリからコピー先にファイルをコピーします。
あなたがこのようなことをするまで、これはどれも機能しません: exec bash
または、再ログを記録したり、再起動したりすることもできます。
Rowan_R
August 30, 2022, 2:22am
#10
私は使用することをお勧めします /etc/bash.bashrc
そのファイルの最後に行を追加できます。
alias ok="ping google.com"
行ごとにエイリアスを入れた後、再起動または再ログインする必要があります。
Ollie
August 30, 2022, 2:31am
#11
思い出したように, bashrc
has、またはhad、エイリアスに直接使用しないことを示唆する行。 その ソリューション 外部ファイルを使用することです。 その foo
と bar
エイリアスが追加されましたが、追加するには baz
その bashrc
ファイルは"ソース"でなければなりません(または、新しい端末を開くだけです)。 例として:
thufir@dur:~$ thufir@dur:~$ aliasalias alert='notify-send --urgency=low -i "$([ $? = 0 ] && echo terminal || echo error)" "$(history|tail -n1|sed -e '\''s/^\s*[0-9]\+\s*//;s/[;&|]\s*alert$//'\'')"'alias bar='echo foo'alias egrep='egrep --color=auto'alias fgrep='fgrep --color=auto'alias foo='echo foo'alias grep='grep --color=auto'alias l='ls -CF'alias la='ls -A'alias ll='ls -alF'alias ls='ls --color=auto'thufir@dur:~$ thufir@dur:~$ cat .bash_aliases alias foo='echo foo'alias bar='echo foo'alias baz='echo baz'thufir@dur:~$ thufir@dur:~$ source .bashrc thufir@dur:~$ thufir@dur:~$ aliasalias alert='notify-send --urgency=low -i "$([ $? = 0 ] && echo terminal || echo error)" "$(history|tail -n1|sed -e '\''s/^\s*[0-9]\+\s*//;s/[;&|]\s*alert$//'\'')"'alias bar='echo foo'alias baz='echo baz'alias egrep='egrep --color=auto'alias fgrep='fgrep --color=auto'alias foo='echo foo'alias grep='grep --color=auto'alias l='ls -CF'alias la='ls -A'alias ll='ls -alF'alias ls='ls --color=auto'thufir@dur:~$ thufir@dur:~$ bazbazthufir@dur:~$
今、 baz
エイリアスワークス 私はちょうど今、以前の答えが持っていたことに気づいた 言及されている この技術は、しかし、彼らはledeを埋めていました。
'alias rm='rm-i"はrmを無計画に使用する問題を解決しません