私は自分のesと他のものalias
でAshセッションをカスタマイズする方法を探しています。 Bashファイルと同等のAshとは何ですかbashrc
?
答え1
Ashは最初に次のファイルを読み取ります(存在する場合)。
- システム:
/etc/profile
- ユーザー:
~/.profile
答え2
非ログインの「ash」または「dash」ベースのシェルは、ファイルのフルパスが環境変数ENV(またはSHINIT)に含まれている場合にファイルを「インポートする」こともできます。
したがって、何らかの方法で設定すると(おそらく〜/ .profileまたは他の「重要な」環境制御で)、将来の分岐シェルでこのスクリプトが実行されます。非ログイン状況にとても便利です。
例: .profile には次の内容があります。
ENV=$HOME/.ashrc; export ENV
. $ENV
または明示的なものを好む場合:
ENV=/home/kwest/.ashrc; export ENV
# File in 'ENV' will be sourced for future shells. Also source it for this login shell:
. $ENV
上記のようにENVを完全な明示的なパスに設定する必要があります。 「~」を使用しないでください。
ash/dashに関する明確な文書を見つけるのは難しいですが、busybox-w32(Windows上で実行)で動作することが確認されました。実際、Ash機能セットの良いドキュメントを見つけるのは難しいです。
更新:野生には様々な水草の品種があります。 「ENV」はすべての項目に適用されない場合があります。変形に関するいくつかの情報は次のとおりです。https://www.in-ulm.de/~mascheck/various/ash/
いくつかのashバリアントでは、ENVの代わりに「SHINIT」を使用できることが提案されています。
答え3
alipline 3.17問題が発生してから1年後、私は解決策を見つけました(おそらく最高ではありません。どんな意見でも歓迎します)。
/etc/profile
この行の前に追加するには、rootとして編集してくださいunset script
。. $HOME/.profile
- 次に、前述のように、ホームディレクトリに次
.profile
のようにディレクトリを作成します。ENV=$HOME/.ashrc; export ENV . $ENV
.ashrc
その後、ホームディレクトリに1つを作成してエイリアスやその他の項目を設定できます。