以下のように.bashrcファイルにエイリアス名を付けました。しかし、エイリアス名は機能していません。どうして?
alias c='clear'
alias l='ls -lt'
alias h='history'
alias d='ls -lt |grep "^d"'
export Oracle_HOME=/ora11gr2/app/Oracle/product/11.2.0/db2
export Oracle_LIB=/ora11gr2/app/Oracle/product/11.2.0/db2/lib
export PATH=$Oracle_HOME/bin:/usr/vac/bin:/usr/vacpp/bin:.
export LD_LIBRARY_PATH=$Oracle_HOME/lib:.
変更後、.bashrc
ファイルを入手しましたか?試してください:
. ~/.bashrc
すると、シェルに変更が表示されます。または、シェルを終了して再起動することもできます。
pS.
スクリプトから実行する場合は、最初にこれをロードしてください ref
shopt -s expand_aliases
これは、PATHが、パスを参照するすべてのエイリアス参照バイナリを使用するように正しく設定されていないために発生する可能性があります。つまり、lsは/ bin/lsの下に存在します。
「export PATH = $ PATH:$ Oracle_HOME/bin:/ usr/vac/bin:/ usr/vacpp/bin:」を使って試してみてください。または「export PATH = $ Oracle_HOME/bin:/ usr/vac/bin:/ usr/vacpp/bin:/ bin:/ sbin /:/ usr/sbin
そうでない場合は、「which」を使用して、個々のエイリアス参照バイナリのパスディレクトリ(履歴)を検索します。
MacOSユーザーがこの答えを探しに来た場合に備えて、MacBookでこれを試しましたが、ターミナルを再起動しても新しいエイリアス定義が読み込まれません。それを機能させる唯一の方法は、毎回source ~/.bashrc
にアクセスすることでした。次に、エイリアス定義を~/.bash_profile
に移動してみましたが、thisがうまくいきました。
たぶん、あなたはあなたの.bashrc
にすでにグローバルなエイリアスを定義しようとしています。
通常、.bashrc
のエイリアスは、/etc/bashrc
を呼び出す前に定義されます。それらを定義してみてください後。
.bashrc
の例を次に示します。
# Source global definitions
if [ -f /etc/bashrc ]; then
. /etc/bashrc
fi
# User specific aliases and functions
alias c='clear'
alias l='ls -lt'
alias h='history'
alias d='ls -lt |grep "^d"'
export Oracle_HOME=/ora11gr2/app/Oracle/product/11.2.0/db2
export Oracle_LIB=/ora11gr2/app/Oracle/product/11.2.0/db2/lib
export PATH=$Oracle_HOME/bin:/usr/vac/bin:/usr/vacpp/bin:.
export LD_LIBRARY_PATH=$Oracle_HOME/lib:.
自問する質問は次のとおりです。
bash
を実行)は、そのはずです。 alias
を使用すると、すべてのエイリアスが出力されます。