で検索できるecho
built-in
ように無効にしました。私はこれにコマンドを使用しました。下記をご覧ください。echo
$PATH
enable -n
$ type echo
echo is a shell builtin
$ enable -n echo
$ type echo
echo is /bin/echo
echo
ただし、現在のシェルでサブシェルを開くと、組み込みシェルが再利用されます。下記をご覧ください。
$ type echo
echo is /bin/echo
$ bash
$ # Now I am in child shell
$ type echo
echo is a shell builtin
echo
サブシェルでもこの設定が見つかるように$PATH
(つまりenable -n echo
有効なまま)、サブシェルでこの設定を保存する方法はありますか?
答え1
はい、2つの方法があります。 1つは対話型で、もう1つは非対話型bashシェルです。
対話型bashシェルの場合は、コマンドをファイルenable -n echo
に入れます$HOME/.bashrc
。すべての対話型シェルは外部エコーを使用します。
はいいいえ非対話型シェルに対してこれを行うことをお勧めしますが、これを行うには、次の行を含むBASH_ENV
ように環境変数を設定する必要がありますenable -n echo
。すべての非対話型bashシェルは、BASH_ENVファイルで指定されたファイルを実行するため、外部エコー。
答え2
("enable -n") は次のようになります。bash関連機能。あなたは置くことができます
enable -n echo
たとえば、そのシェル初期化スクリプトによって~/.bashrc
呼び出されるすべてのシェルに影響を与えるようにします。