%20%E3%81%A7%E3%82%A8%E3%82%A4%E3%83%AA%E3%82%A2%E3%82%B9%E3%81%8C%E6%A9%9F%E8%83%BD%E3%81%97%E3%81%AA%E3%81%84%E3%81%AE%E3%81%AF%E3%81%AA%E3%81%9C%E3%81%A7%E3%81%99%E3%81%8B%3F.png)
ホームディレクトリに次のファイルがあります:
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
.profile
私のデフォルトのシェルは Korn シェルです。次のようにエイリアスを設定しようとしました。
alias l='ls -lrt'
再ログイン後に実行してみました:
$ l
ksh: l: not found.
このエイリアスを機能させるにはどうすればいいでしょうか?
答え1
.profile
ログイン時にのみ読み込まれます。その後の変更は現在の環境には影響しません。次の.profile
方法で再読み込みする必要があります。
- ファイルのソース:
. .profile
(影響は現在シェルではなく全て貝殻 su -l <user>
(新規ログイン)- ログアウト + ログイン
答え2
それは機能します。
私の .profile との唯一の違いは二重引用符です。
alias l="ls -l"
この行は、シェルとして ksh を使用する AIX では機能します。
切断と再接続に関してですが、デフォルトのシェルは ksh ですか? /etc/passwd でユーザーを確認してください。
答え3
これは.profile
シェル設定ファイルではなく、ログインセッションです設定ファイルこれはログイン時に起動されたシェルによってのみ読み取られ、ログイン セッション内で起動された他の対話型シェルによって読み取られることはありません。
ksh
専用のカスタマイズ ファイル自体はありませんが、変数は$ENV
対話型シェル セッションのカスタマイズ ファイルへのパスとして扱われます。
したがって、次のような内容を追加します。
ENV="$HOME/.kshrc" export ENV
あなた~/.profile
と:
alias 'l=ls -lrt'
あなたの に~/.kshrc
。
変更は次回のログイン時にのみ有効になります。
答え4
エイリアスは Korn Shell を使用した AIX で機能します。
次のようなコマンドを最後に追加します/etc/profile
:
export PS1="`hostname`# "
alias ll="/usr/bin/ls -lF $*"
alias h="history 50"
これらの変数を環境内で設定したい場合は、以下を起動します。
. /etc/profile