bashで実行されるようにzshrcのソースファイルをどのように取得しますか?

bashで実行されるようにzshrcのソースファイルをどのように取得しますか?

多くの機能を含むbashスクリプトがあります。このスクリプトをbashを使用して実行したいと思います。スクリプトの上部には以下が含まれます。

echo "BASH_VERSION""$BASH_VERSION"
echo "ZSH_VERSION""$ZSH_VERSION"

現在ZSHで実行されているスクリプトを表示できます。

Bashを使用してスクリプトをどのように実行しますか?すでに#!/usr/bin/env bashファイルの先頭にありますが、まだ機能していません。私はそれを使用していますsource

ベストアンサー1

source次のようにスクリプトを実行すると、現在のスクリプトの-lineが何を言っているかに関係なく、シェル環境です#!(この行はコメントにすぎず、この場合は無視されます)。それがまさにそのことですsource

コマンドラインにスクリプトパスと名前(たとえば)を指定してスクリプトを実行すると、ファイルが実行可能であると仮定すると、スクリプトの先頭の-line./myscriptに記載されているインタプリタによって実行されます#!。ファイルの関数定義、変数などは、スクリプトの実行中にアクティブになりますが、スクリプトが終了すると、残りのスクリプト環境とともに削除されます。

現在のシェル環境内でアクセスしたい関数の定義がスクリプトファイルに含まれていて、ファイルzshの関数がシェル互換の方法で作成されている場合は、スクリプトzshファイルを取得することが適切です。

関数がbashシェルに対して明示的に作成されている場合(特定の変数bashなどを使用)、アプリケーションの残りの部分を別々のスクリプトbashとして作成し、関数を使用してそのスクリプト内からファイルをインポートできます。または、シェルの機能をオーバーライドしてから、シェルでオーバーライドされた関数定義をインポートすることもできzshますzsh

おすすめ記事