問題タブ [osascript]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
shell - i を 1 から n まで繰り返してシェル スクリプトを実行できない
これは機能します (たとえば、「3 つの引数」が出力されます)。
これはそうではありません (「Argument 3: three」のみを出力し、前の 2 つの引数は出力しません):
どちらの場合も、osascript
Mac OS X 10.5.5 を使用してスクリプトを実行しています。呼び出しの例:
出力をリダイレクトしていないので、スクリプトがエラーをスローしていないことがわかります。
display dialog
の上にステートメントを追加するdo shell script
と、「ユーザーの操作は許可されていません」というエラーがスローされるため、ループ本体を実行していることがわかります。
私は何を間違っていますか?このループで osascript が何も出力しない原因は何ですか?
command-line - Applescript を使用して iTunes トラックの再生時間を取得するにはどうすればよいですか?
Macデスクトップを楽しくするためにGeektoolとapplescriptingをいじり始めたところですが、答えが見つからないように見える質問に遭遇しました。osascript コマンドから現在の曲の再生時間を取得するにはどうすればよいですか? コマンド ラインで iTunes と osascript を使用して他のことを行う方法についての優れたリソースを見つけましたが、現在の再生時間を表示することについては誰も気にしていないようです。ありがとう!私はそれが次のようなものになると仮定しています:
私はすでにそれを試しましたが、それは曲の長さを教えてくれます。プレイ時間はどれくらいか知りたいです。
jvm - 趣味の言語を開発するのに適した VM は何ですか?
私は自分の小さな言語を書くことを考えています。
いくつかのオプションを見つけましたが、もっと提案してください。
- JVM
- オウム
- OSA
多くの言語が JVM を使用していますが、Java っぽい言語を作成しない限り、stdlib が提供するすべての機能は見苦しく感じられます。動的なものもあまり得意ではありません。
Parrot は言語を開発するのに適した VM のようですが、放棄された/未完成の/趣味のプロジェクトの匂いが少しあります。
OSA は Applescript の動力源であり、特に有名な VM ではありませんが、私は Mac を使用しており、優れたシステム統合を提供します。
CLR+Mac は良い組み合わせではないようです...
私の言語は、強力な型付けと Python と Lisp の構文を組み合わせた、オブジェクト指向の関数型並行データフロー言語になる予定です。いいですね。
[編集]
今のところ Python を受け入れましたが、OSA と Parrot についてもっと知りたいです。
macos - このosascript出力を取り除くにはどうすればよいですか?
次の質問は、この質問に投稿された回答に関連しています。
新しい端末を開く独自の関数を作成するという概念が好きなので、上記の質問でCraigWalkerがリンクしたスクリプトが私のニーズに合っていました。Mark Liyanageによって書かれたスクリプトは、ここにあります。
そのスクリプトは次のとおりです。
リンク先のサイトのスクリプトに1つ変更を加えました。冗長性を排除するために、「$ COMMAND$EXIT」を出力する行をコメントアウトしました。ただし、スクリプトを実行すると、この出力が得られます
新しいウィンドウが開き、渡したコマンドを実行する直前。なぜこれが発生するのか考えてみてください。(oascriptを呼び出す前にstderrのリダイレクトを/ dev / nullに移動しようとしましたが、違いはありませんでした。)
macos - Mac 端末でマウス クリックをシミュレートするにはどうすればよいですか?
プログラムやスクリプトなしでこれを行う方法はありますか? (多分 osascript を通して?)
macos - bashスクリプトのosascriptのキャンセルボタン
bash スクリプトの osascrip 行に小さな問題があります。Applescript の「リストから選択」ダイアログを介して bash スクリプトが呼び出され、if [[ $* = *"Option 1... selection タグを介してオプションを定義できます。
友人が私に osascript 行をくれました。「ファイルを選択」ダイアログが表示され、物事を選択するために機能しますが、「キャンセル」ボタンも「ファイルを選択」ダイアログをトリガーします。
OKとキャンセルの両方がファイルの選択ダイアログをトリガーするため、osascript行が最後近くでどこか不完全であると感じます。
bash スクリプトでは次のようになります。
osascript 行でキャンセル オプションが欠落している場所と、それを実装する方法を教えてください。
ruby-on-rails - ruby デーモン内からの osascript 実行のデバッグ
Web サーバーで AppleScript を頻繁に実行する必要があります。サーバーはレールを実行しており、スクリプトの実行前後にモデルにアクセスする必要があるため、デーモン (デーモン gem経由) が適切であると考えました。
理論的には、これはかなり簡単です。以下は簡単な例です。
テストの目的で、(やや長くて時間がかかる) 製品用の AppleScript をワンライナーに置き換えました。ここに、そのすべての栄光があります:
Applescript はスクリプトの最後の行を return ステートメントとして扱うため、この文字列はresult
変数に渡され、最終的に Rails に記録されます。
これはうまく機能します-しばらくの間。ただし、最終的には (通常は数時間後)、osascript
行は結果を返さなくなります。デーモンはまだ実行されていますが、osascript
私が知る限り、行は説明なしで完全に失敗しています.
デーモン自体は死んでいないと断言できます。
- Rails のログ エントリは正しい間隔で表示されます。
- 「foo.txt」のサニティ チェックでは、最後に変更されたタイム スタンプが定期的に更新されます。
誰かが同様の問題を抱えている場合に備えて、これに更新を投稿すると思いました。まず、回避策を見つけました。それは確かに醜いハックですが、それは仕事を成し遂げ、2時間ごとにクラッシュすることはありません. 私がやっていることは、ジョブが実行されるたびに ssh 接続を確立することです。これにより、スクリプトをクリーンなセッションで効果的に実行できます。
次に、~/Library/Logs/DiagnosticReports ディレクトリに多数のクラッシュ レポートが見つかりました。この試練全体が何らかのセッションのタイムアウトまたは期限切れに関係しているとますます信じ始めています。
macos - AppleScript の min(x,y) に相当
次のような繰り返しのある動作中の AppleScript があります。
これをmin(2,count windows of proc)に変更したい
純粋に AppleScript を使用してこれをどのように記述すればよいでしょうか? (Bashなどを含むソリューションは受け入れられません。問題は、AppleScriptからこれを行う方法についてです)
macos - AppleScript とベスト プラクティスを使用して、コンテンツに応じてターミナルで特定のタブを選択します。
これはアプリケーション固有の問題です。内容に応じて、Terminal.app のタブを見つけて選択しようとしています。これが私がやっていることです:
これは期待どおりに動作しておらず、非常に簡単です。より少ないコードでこれを行う方法を誰かが提案できるかどうか疑問に思います (たとえば、ループは実際には必要ないはずですが、applescript はとらえどころのない言語です)。
ありがとう
macos - AppleScript Runner の終了ステータスがシェルスクリプトに返される
シェル スクリプトで AppleScript を実行できるようにする必要があります。ダイアログなどがサポートされるように、インタラクティブモードにするために「AppleScript Runner」を使用しています。動作していますが、AppleScript Runner アプリの終了ステータスをシェルに戻す必要があるため、スクリプトにエラーがあったかどうかを確認できます。
これが私のシェルスクリプトです:
ここで、変数 $status は osascript コマンドの終了ステータス (somescript.scpt が実際に正常に実行されたかどうかにかかわらず 0 になります) のみで終了し、アプリ AppleScript Runner の終了ステータスではありません。
これを達成する方法を知っている人はいますか?
ありがとう!