私のホームディレクトリには次のファイルがあります。
drwxr-xr-x 3 meuser staff 256 Oct 12 13:11 .
drwxr-xr-x 102 bin bin 4096 Sep 30 12:28 ..
-rw------- 1 meuser staff 5349 Oct 11 20:44 .bash_history
-rwx------ 1 meuser staff 466 Jun 26 22:12 .profile
-rw------- 1 meuser staff 7074 Oct 12 13:11 .sh_history
drwx------ 2 meuser staff 256 Aug 16 15:28 .ssh
私のデフォルトのシェルはKornシェルです。.profile
次のようにエイリアスを入力しようとすると、次のようになります。
alias l='ls -lrt'
もう一度ログインして実行してみてください。
$ l
ksh: l: not found.
このエイリアスを機能させるにはどうすればよいですか?
答え1
.profile
ログインしている場合にのみお読みください。今後の修正は現在の環境には影響しません。次の方法で再ロードする必要があります.profile
。
- ファイルを得なさい: (
. .profile
影響を与えます現在のシェルではなくみんなシェル) su -l <user>
(新規ログイン)- ログアウト+ログイン
答え2
実際に働く。
私の.profileで見ることができる唯一の違いは二重引用符です。
alias l="ls -l"
この行は、AIX で ksh をシェルとして使用する場合に適用されます。
切断と再接続に関して...基本シェルがkshかどうかはわかりますか? /etc/passwdでユーザーを確認してください。
答え3
これは.profile
あなたのシェルプロファイルではありません。これはあなたのログインセッションです。設定ファイル。ログインセッション内で開始された他の対話型シェルではなく、ログイン時に開始されたシェルからのみ読み取ることができます。
ksh
独自のカスタムファイルはありませんが、変数を$ENV
対話型シェルセッションへのカスタムファイルのパスとして扱います。
だから、次のようなものを追加します。
ENV="$HOME/.kshrc" export ENV
あなたに以下を与える~/.profile
:
alias 'l=ls -lrt'
あなたに~/.kshrc
。
変更は、次回ログインするときにのみ適用されます。
答え4
この別名は、AIX および Korn シェルで機能します。
likeの最後にいくつかのコマンドを追加します/etc/profile
。
export PS1="`hostname`# "
alias ll="/usr/bin/ls -lF $*"
alias h="history 50"
環境でこれらの変数を設定するには、次のようにします。
. /etc/profile