非シェル実行可能ファイルはアクティブシェルにファイルを提供できますか?

非シェル実行可能ファイルはアクティブシェルにファイルを提供できますか?

シェルを使用すると(私が知っている限り)、単一行を含むシェルスクリプトが親シェルsource somefileに影響を与えることは不可能です(もちろん、スクリプト自体がソースコードでない限り)。

sourceシェルではなく実行可能ファイル(Cで書かれているなど)が効果的にファイルになり、コマンドラインに入力するsource somefileのと同じように、シェルですべてを使用できるかどうか疑問に思います。

ベストアンサー1

$ type source
source is a shell builtin

それは可能です(もともと長い質問にもっと意味があります)。

いいえ、外部プログラムはアクションを複製できませんsource(入力バッファリングトリックを利用しない限り)。これは同じですcd。シェルのみが独自の内部状態を変更できるため、シェルの組み込み機能だけがシェルの内部状態を変更できます。

おすすめ記事