0

私が実行コマンドに行った場合

do shell script "echo hello > ~/Desktop/file.txt"

デスクトップにfile.txtという名前のテキストファイルとその内容が生成されます

こんにちは

(ここで空白行を想像してください)

この行が作成されないようにするにはどうすればよいですか。オンラインでリソースを見つけることができません。または、作成後に削除する方法を見つけるためのオンラインオプションはありますか?

4

3 に答える 3

1

これは私が信じていることです:

do shell script "printf hello > ~/Desktop/file.txt"
于 2013-03-03T07:11:51.733 に答える
1

DigiMonkのコードは機能します。

しかし、将来の読者への注意:

オリジナルのポスターコード:

do shell script "echo hello" > "~/Desktop/file.txt"

誤って投稿され、そのままでは機能しません。Applescriptはそれをコンパイルします。しかし、実際には、'は〜/ Desktop/file.txtよりも大きいと言われています

正しい形式:

テキスト文字列の引用符を引用してエスケープします。(テキスト文字列が長く、スペースが含まれている場合は、より適切なオプションです。)

do shell script "echo \"hello world\" > ~/Desktop/file.txt"

または引用符を使用しないでください。

do shell script "echo hello > ~/Desktop/file.txt"

また、チルダ〜記号を使用する場合は、ファイルパスを引用符で囲むことはできません。チルダ記号は、ユーザーのホームディレクトリを指すために使用されます。引用すると動作が停止します。

于 2013-03-03T13:39:07.600 に答える
1
do shell script "printf %s " & quoted form of "hel'\\%slo" & " > ~/Desktop/file.txt"

printf aa%sbb印刷しますaabbgetconf ARG_MAX入力がバイトより長い場合(現在は約300 kB)、この方法は機能しません。

これは、より長い文字列でも機能します。

set f to POSIX file ((system attribute "HOME") & "/Desktop/file.txt") as text
set b to open for access f with write permission
set eof b to 0
write "α" to b as «class utf8»
close access b

ファイルがないas «class utf8»と、MacRomanとして保存されます。as Unicode textUTF-16です。

do shell script/ bin / shを使用するため、を追加しない限りdo shell script "echo -n hello"印刷されます。-n helloshopt -u xpg_echo

于 2013-03-03T16:36:32.207 に答える