1

名前にスペースが含まれる列を照会したいと考えています。シェルスクリプトは次のとおりです。

select "Column 1" from aTable;

遅いかもしれませんが、Applescript をエスケープするのに苦労しています:

set xxx to do shell script "sqlite3 ~/Documents/Databases/test.db \"select \"Address 1\" from aTable limit 10; \""
4

1 に答える 1

3

SQL を一重引用符で囲みます。

set xxx to do shell script "sqlite3 ~/Documents/Databases/test.db 'select \"Address 1\" from aTable limit 10; '"

または、自分を打ち負かしたい場合は、どこでも二重引用符を使用し続け、さらにエスケープを追加します。

set xxx to do shell script "sqlite3 ~/Documents/Databases/test.db \"select \\\"Address 1\\\" from aTable limit 10; \""

エスケープされた二重引用符をシェルまで取得するには、エスケープをエスケープする必要があるため、3 つ必要です。イク。

または、ネイティブの AppleScript SQLite インターフェイスを使用してください。数分間のグーグル検索で、上記のネストされた引用符の狂気よりも優れたものを見つけることができます。

于 2012-04-04T05:24:31.230 に答える