LaunchCtlは、 'submit'プロトコルを使用しているときに引数をスキップすることがわかりました。引数が正しくないlaunchctlへのプログラムの送信
私は、次のスクリプト(script.sh)している:私は、端末からscript.shを呼び出すと、それに引数を渡すに問題は
#!/bin/bash
arg1="$1"
arg2="$2"
arg3="$3"
arg4="$4"
echo $arg1$arg2$arg3$arg4
exit 1
ありません。 LaunchCtlで同じことをすると、何かがうまくいかず、最初の引数が消えます。
launchctl submit -l MyUniqueScript -p ROOT/script.sh -o ROOT/out.txt -e ROOT/err.txt "abc" "def" "ghi" "jkl"
私も、私はすぐそこにすべての私の引数を持っている私のプロセス
launchctl list MyUniqueScript
をご確認ください。ターミナルはそれらをプリントアウトします。
{
"Label" = "MyUniqueScript";
"LimitLoadToSessionType" = "Background";
"OnDemand" = false;
"LastExitStatus" = 256;
"TimeOut" = 30;
"Program" = "/Users/ROOT/script.sh";
"StandardOutPath" = "/Users/ROOT/out.txt";
"StandardErrorPath" = "/Users/ROOT/err.txt";
"ProgramArguments" = (
"abc";
"def";
"ghi";
"jkl";
);
};
しかし、私はout.txtを中に持っていることはかなり台無しにされています
defghijkl
よりもむしろ
abcdefghijkl
誰もがこれで私を助けることはできますか?誰かが私が何をすべきか、あるいは何が間違っているのかを知っていますか?
上記の小さな例は、私が取り組んでいるオリジナルのスクリプトではありません。これは私の問題を示すのが簡単です。
私を助けてください!ありがとう!
実際のスクリプトの関連部分を投稿できますか?私は "ProgramArguments"の最初の要素がscript.shに渡されないように見えるのを助けるかもしれません。 – chepner