私たちのチームはシェルスクリプトを共有しており、Windowsでのみ使用しているので、これをCygwinと互換性があります。今問題はで発生しますsource
。私のシェルは次の形式のみを受け入れます。
source ./<file name>
変える
source <file name>
これはすでにスクリプトにあります。だから私はsource
次のように書き直したい。
source(){ . ./$@; }
しかし、今私のシェルは文句を言います。
`source': is a special builtin
今どうすればいいですか?
ベストアンサー1
特別な組み込み機能に関するエラーメッセージ(参照)http://sources.debian.net/src/bash/4.4-4/execute_cmd.c/?hl=5623#L5623)、POSIXモードでbashを実行しているようです。これは$POSIXLY_CORRECT
シェルを設定して実行したためです。--posix
set -o posix
POSIXモードが実行する多くのタスクの1つは、(再定義を許可しないことに加えて)source
-lookupが失敗した場合に現在の作業ディレクトリを検索しないことですsource
。.
$PATH
これはCygwinで実行するものとは何の関係もありません。