2017-03-17 10 views
0

私は、MacOSのターミナルから実行する必要があるプログラムのインストールを自動化しようとしています。これは簡単ですが、インストールスクリプトはroot(またはsudo)として実行する必要があり、実行しているルートディレクトリからファイルを見つけて、完了する前にパスワードを端末入力として提供するユーザーを探します。私たちは内部的にしか使用しないので、パスワードを読みやすい形式で提供しても構いません。このプロジェクトが終了したらすぐにパスワードが変更されます。AppleScriptから1行でシェルスクリプトを実行し、入力を提供

これまでのところ、私は応答ファイルからの入力を受け入れないように見えるため、動作しません。私は、その最初のステップを実行するのに必要な瞬間を待つために睡眠を使用しています。

do shell script "cd ~/Desktop/; ./setup; /bin/sleep 5; ~/Desktop/MyApp/Tools/RunThis_WithVarialbles -s blah.com -someOtherVaiable -u [email protected] < ~/Desktop/sccm/Tools/response.txt" password "passwdIDCisVisible`enter code here`" with administrator privileges 

私はスクリプトエディタから取得するエラーは、次のとおりです。

error "/bin/sh: ./setup: No such file or directory 
ERROR 2 when mkdir in CreateDirectory - No such file or directoryERROR 2 when mkdir in CreateDirectory - No such file or directory 
Please enter your password. 
(null)(null)(null)(null)(null)" number 8 

私は総Noobのだと認めざるを最初になります!お待ち頂きまして、ありがとうございます!

+1

問題は '。/ setup'にある可能性が高いので、おそらくそのコードを投稿してください。 –

+0

./setupは、ベンダーが提供する実行可能なバイナリです。 – BluMoon

答えて

0

あなたのコマンドにいくつか間違いがあります。そして、あなたが達成しようとしていることはまだはっきりしていないようです。しかし、多くの質問をして混乱を招くのではなく、最初のステップに固執しましょう。

エラーメッセージの最初の部分は、error "/bin/sh: ./setup: No such file or directoryとなります。これは、次のことを示す可能性があります。

  1. 〜/デスクトップ/セットアップが存在しません。 (もしそうなら)。
  2. 〜/ Desktop/setupが正しく指定されていないため、ファイル拡張子を追加する必要があります(〜/ Desktop/setup.shなど)
  3. ファイルを実行するための適切な権限がありません。したがって、現在のユーザに実行権を与えるには、chmod u+xのようなものを実行する必要があります。 (ルートはsudo chmod u+x)。

最初に渡すことができるかどうかを確認してください。コードを書くことを学ぶことは、通常、最初に赤ん坊の歩みをとることを意味する

幸運。

+0

ご協力ありがとうございます!下の自分の回答を見てください... 1.〜/ Desktop/setupはありますが、それはソフトウェアベンダーによってコンパイルされたバイナリです。私が編集できるスクリプトではありません。はい、私はバイナリであることが奇妙に聞こえるかもしれないことを確認しました。 2.〜/ Desktop/setupには拡張子がありません。 3.既に実行可能です。 – BluMoon

+0

しかし、2つの質問が残っています:どのように実行可能であると判断しましたか?あなたが確かに知ることができるように 'ls -l'の出力を投稿できますか?また、バイナリの場合、それを実行する特定のプログラムを指定しないと実行されません。あなたの現在のコマンドでは、通常のシェルスクリプトとして実行しようとしています。これは、BASHやZSHのような通常のシェルがそれ自身でそれを実行することができないため動作しません。 – Montmons

関連する問題