4

私は、bash に知られている必要があるコマンド (ios-sim) を含むカスタマイズされたスクリプトを実行しています (バイナリは /usr/local/bin にあり、$PATH は知っています)。ただし、xcodebuild によって呼び出されると、コンソールは「コマンドが見つかりません」というログを記録します。

コマンドを手動で実行できますが、実行スクリプト内で機能しない理由がわかりません。ユーザーを確認しましたが、予想どおり、両方とも同じユーザーです...

ios-sim を呼び出す行:

ios-sim launch $(dirname $TEST_HOST) $environment_args --args -SenTest All $test_bundle_path -v
4

1 に答える 1

8

$PATH値が明確ではないに依存するのではなく、へのパス全体を使用しios-simます。

カスタムスクリプトを編集して変更します。

ios-sim launch ...

/usr/local/bin/ios-sim launch ...

$PATH使用が危険である(おそらく言葉が強すぎる)理由は、それがどこに設定されているかが明確でないためです。たとえば、Xcodeはで構成され、またはで追加された可能性のあるパスを/etc/launchd.conf使用し/usr/local/binます。/etc/profile~/.bash_profile

  • launchdの値を使用し/etc/profileて、Xcodeに渡して使用しますか?
  • Xcodeによって開始されたスクリプトは使用します/etc/profile~/.bash_profile

この環境を複雑かつ完全に理解することで、を介してコマンドを呼び出すことができることは間違いありませんが、コマンドへ$PATHのフルパスを使用することは、常に機能する単純なアプローチです。

于 2013-02-04T11:16:19.983 に答える