AppleScriptObjC をラッパーとして使用して、3 つまたは 4 つの bash シェル スクリプトを自動化しようとしています。これにより、データ ファイルなどを選択するための使いやすい GUI フロント エンドと、いくつかの bash スクリプトを操作および処理するための便利なテキスト ファイルが提供されます。
すべてが機能します (ボタンを押してシェル スクリプトを実行できます) が、セミポータブルにする方法がわかりません。ユーザーに公開するのではなく、必要なスクリプト ファイルを何らかの方法でアプリに組み込んだり生成したりして、他のユーザーに配布できる単一のアプリまたはパッケージを用意したいと考えています。
私は Xcode と AppleScriptObjC (ASOC) の初心者であり、これを行う方法がわかりません。- 単純な do シェル スクリプト コマンドのセットとして、またはターミナル ウィンドウに送信されるコマンドを介してスクリプトを実行できますが、これは、個々のシェル ファイルをすべて配布し、適切な場所に配置する必要があることを意味します。- ASOC 内からスクリプト ファイルを生成しようとしましたが、ASOC が文字列と特殊文字を処理する方法が原因で、ファイルを作成するための障壁に遭遇しました。通常の文字列または引用符で囲まれた形式の文字列構築の両方を試しました。背景として、Apple Technical Note TN2065が関連しています。そのようにファイルを作成すると、特殊文字が失われます。このコードは問題を示しています (たとえば、私が間違っていること!):
set scriptName to "/Users/me/Desktop/myScript.sh" -- Name of file
-- Define a multi line string:
set scriptContents to " First Line - OK
Second Line, all good so far
$Test fails - the (dollar sign)Test vanishes
\"$Test\" also fails
Last line"
do shell script ("cd " & myFolder & "; echo \" " & scriptContents & " \" > " & scriptName)
ASOC 内から必要なシェル スクリプトを作成したり、サポート ファイルとしてアプリケーション バンドルに含まれている場合はスクリプトにアクセスしたりする方法がないため、bash から AppleScriptObjC への多くのトリッキーな移植を行うことになります。
1.制御文字などを含むAppleScriptObjCを使用して任意の複数行のファイルを作成するにはどうすればよいですか? 2.または3.必要に応じてASOCが実行できるようにシェルスクリプトをパッケージ化するにはどうすればよいですか?