〜/に痕跡を残さずに〜/.bashrcを他の場所に移動する方法はありますか(シンボリックリンクなどありません)? Zshが環境変数ZDOTDIRを使用しているかのように?
これ私が望んでいないことを私に与えてください。これは--rcfile
、ターミナルプロンプトを介して新しいシェルを初期化するときにのみ機能し、新しいターミナルエミュレータ(またはウィンドウマネージャの場合はウィンドウ)を介して起動した場合は機能しません。
答え1
ZDOTDIR
bashと同等のものはありますか?
いいえ、直接同等のものはありません。
~/.bashrc
痕跡を残さず(シンボリックリンクなどなし)、他の場所に移動する方法はありますか?~/
はい、HOME
環境変数を変更してこれを実行できます。
$ echo echo LOL >/tmp/.bashrc
$ HOME=/tmp bash
LOL
$
一つのために非対話型BASH_ENV
シェルでは環境変数を使用できます(1):
$ BASH_ENV=/tmp/.bashrc bash -c true
LOL
またはこれ。
これは
--rcfile
、ターミナルプロンプトを介して新しいシェルを初期化するときにのみ機能し、新しいターミナルエミュレータを介して起動したようには機能しません。
これは本当ではありません。ほとんどの(すべて?)端末エミュレータでは、デフォルトのシェルの代わりに実行するコマンドと引数を選択できます。
(1)Bashのマニュアルページの説明は混乱していますが、POSIXBASH_ENV
モードで実行したときにbashと同じソースではありません。ENV
非対話型シェルですが、後者は次のもので構成されています。インタラクティブシェル。いずれにせよ、コマンド拡張が可能であるため、これを使用してコマンドを直接実行できます。
$ BASH_ENV='$(echo WTF >/dev/tty)' bash -c true
WTF
$ ENV='$(echo WTF >/dev/tty)' bash --posix -ic true
WTF