Applescript 如何使用do shell脚本创建输出并将输出直接发送到打印机

Applescript 如何使用do shell脚本创建输出并将输出直接发送到打印机,applescript,sh,Applescript,Sh,我正在尝试获取一个在sh shell中工作的shell脚本,以用作applescript do shell脚本命令。该脚本只需获取一系列elp2命令,并将它们传输到lpr进行打印。当直接在shell中键入时,它可以工作,但在applescript中运行时,它不会打印。打印机正在接收数据,但数据格式不正确,因此无法打印任何内容。我相信问题在于引用的方式。代码如下: do shell script "{ echo N echo OD10 echo q812 echo Q1218,24 echo D1

我正在尝试获取一个在sh shell中工作的shell脚本,以用作applescript do shell脚本命令。该脚本只需获取一系列elp2命令,并将它们传输到lpr进行打印。当直接在shell中键入时,它可以工作,但在applescript中运行时,它不会打印。打印机正在接收数据,但数据格式不正确,因此无法打印任何内容。我相信问题在于引用的方式。代码如下:

do shell script "{ echo N
echo OD10
echo q812
echo Q1218,24
echo D15
echo ZT
echo A70,40,0,5,3,3,N,\\'F\\'
echo A610,70,0,3,1,1,N,\\'U.S.\\'
echo A590,95,0,3,1,1,N,\\'POSTAGE\\'
echo A580,120,0,3,1,1,N,\\'REQUIRED\\'
echo A43,240,0,4,2,1,N,\\'USPS FIRST-CLASS MAIL\\'
echo A43,300,0,3,1,1,N,\\'Name\\'
echo A43,325,0,3,1,1,N,\\'street\\'
echo A43,350,0,3,1,1,N,\\'city, VA 12345\\'
echo A43,400,0,3,1,1,N,\\'ADDRESS SERVICE REQUESTED\\'
echo A140,490,0,4,1,1,N,\\'ship to\\'
echo A140,520,0,4,1,1,N,\\'company\\'
echo A140,550,0,4,1,1,N,\\'address\\'
echo A140,580,0,4,1,1,N,\\'city, state, 12345\\'
echo A140,610,0,4,1,1,N,\\'country\\'
echo A140,640,0,4,1,1,N,\\'\\'
echo LO10,10,760,4
echo LO10,210,760,2
echo LO10,275,760,2
echo LO10,750,760,10
echo LO10,1050,760,10
echo LO10,1185,760,4
echo LO10,10,4,1175
echo LO770,10,4,1175
echo LO210,10,2,200
echo LO540,45,200,2
echo LO540,45,2,125
echo LO540,170,200,2
echo LO740,45,2,125
echo P1
echo N;} | lpr -P Label -o raw"

检查如何在applescript中写入内容的一种方法是将正常的未转写文本写入文本文件。然后将文件读入applescript。您在结果字段中看到的是应该如何编写它。然后可以将结果复制/粘贴到applescript中

例如,如果我在桌面上创建一个名为myText.txt的文本文件,其中包含以下内容

echo A70,40,0,5,3,3,N,\'F\'
echo A610,70,0,3,1,1,N,\'U.S.\'
然后我用这个applescript

set f to (path to desktop as text) & "myText.txt"
read file f
我的结果是

"echo A70,40,0,5,3,3,N,\\'F\\'
echo A610,70,0,3,1,1,N,\\'U.S.\\'"
因此,请在整个代码中尝试这种技术。祝你好运