1

真新しいサーバー (CentOs 6) で Perlbrew を使用しています。

以前のシステム (RedHat 4) では、Perlbrew を使用せずに、bash シェルでいくつかのエイリアスを使用していましたalias nreload='/usr/local/nginx/sbin/nginx -s reload'。たとえば、.bash_profile ファイルに行を追加するだけで Nginx を再起動していました。

さて、Perlbrew を使って、.bash_profile と .bashrc で試してみましたが、うまくいきませんでした。その場でエイリアスを作成できますが、それらを永続的に使用できるようにすることはできません。

Perlbrew インストールのヒントに従いsource ~/perl5/perlbrew/etc/bashrc、.bashrc ファイルの行をコピーしました。サーバーにログインするだけで Perlbrew Perl がアクティブになるはずだと思ったのですが、そうではありません。source ~/perl5/perlbrew/etc/bashrc;そのため、Perlbrew Perl を使用する必要があるたびに書く必要があります。それは正しい方法ではないようです。

おそらく本当の問題は、Perlbrew の実行方法です。Perlbrew が別のシェルを開くという概念を理解していないのかもしれません。別のシェル、サブシェルがある場合、どのようにエイリアスを使用できますか?

これが私の .bash_profile の内容です:

# .bash_profile

# Get the aliases and functions
if [ -f ~/.bashrc ]; then
        . ~/.bashrc
fi

# User specific environment and startup programs

PATH=$PATH:$HOME/bin
source ~/perl5/perlbrew/etc/bashrc
export PATH

alias nreload='/usr/local/nginx/sbin/nginx -s reload'

ところで: サーバーはリモート サーバーであり、ターミナルを使用してローカルの Macintosh から制御します。ターミナルは実際の Unix ターミナルよりも視覚的なツールであると読んだことがありますが、完全には理解していません。

4

1 に答える 1

1

私は方法を見つけました:エイリアスは.bashrcにある必要があります

(Macintosh) ターミナルを使用して接続し、オンライン サーバーにログインしたら、「/bin/bash」と入力して新しいシェルを「アクティブ化」します。

この新しいシェルには、すべてのエイリアスである適切な Perlbrew Perl があります。これは、この新しいシェルが .bashrc ファイルからすべてを取得するためです。

私を混乱させたのは、「新しいシェル」は実際には「新しい端末ウィンドウ」ではなく、新しい「プロセス」であり、この新しいプロセスは明らかに開始点として .bashrc を使用することでした。

于 2013-05-06T16:16:59.503 に答える