灰プロファイル/プロフィール

灰プロファイル/プロフィール

私は自分の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つを作成してエイリアスやその他の項目を設定できます。

関連情報