Ashプロファイル/構成ファイル


26

私は自分のaliasesとwhatnotのセットでAshセッションをカスタマイズする方法を探しています。Bashのbashrcファイルに相当するAshとは何ですか?

回答:


21

Ashは最初に次のファイルを読み取ります(存在する場合)。

  • システム: /etc/profile
  • ユーザー: ~/.profile

8
デフォルトではないログインシェルとして実行される場合(Alpine Linux / Dockerなど)
JakubHolý17年

2
@JakubHolýは、非ログインシェルのプロファイルスクリプトを実行する方法を見つけましたか?
デビッドルカック

@DavidLukac-非ログインシェルについては、他の回答を参照してください。
スペクター

8

環境変数ENVで指定されている場合、非ログインシェルもファイルを読み取ります。

そのため、何らかの方法で設定する場合(〜/ .profile、またはその他の「包括的な」環境制御で設定する場合)、将来のフォークシェルはそのスクリプトを実行します。非ログインの場合に非常に便利です。

これに関するドキュメントを見つけるのは難しいですが、busybox-w32(Windows上で実行)で動作することが確認されています。実際、ashの機能セットに関する優れたドキュメントを見つけるのは困難です。

更新:さまざまな種類の灰のバリエーションがあります。「ENV」は、それらのすべてで機能するとは限りません。ここにバリアントに関する情報があります:https : //www.in-ulm.de/~mascheck/various/ash/

そこには、一部のアッシュバリアントがENVの代わりに「SHINIT」を使用する可能性があるという提案があります。


Alpine 3.7で動作していません。
knite

@knite BusyboxのAsh(Alpineが使用)はENVを使用します。
kirbyfan64sos

ENVまたはSHINIT変数は、単に設定されるか、特定の値に設定されるだけですか?私は明示的に/ binに/ shを起動せずに-l /root/.profileに.profileを読み取るために力をドッキングウィンドウにしようとしています
レオン

@Leon-ENV(またはSHINIT)には、ロード/ソースするファイルのフルパスを含める必要があります。ただし、これは「ash」シェルバリアントの起動専用であり、一般的なshまたはbashシェルではありません。
spechter
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.