通过shell脚本添加打印机;在终端中工作,但不能作为.command

时间:2019-10-29 17:36:01

标签: bash shell sh

我正在尝试提供一个可单击的.command,以在Mac中为我的工作场所设置打印机。我以为由于这是我经常做的事情,因此我可以为每台打印机编写一个shellscript并将其保存在共享服务器上。然后,当我需要为某人添加打印机时,我只需在服务器上找到Shell脚本并执行它即可。我当前的命令可以在终端中使用,但是一旦作为.command执行,就会出现错误。

这是我的脚本:

#!/bin/sh
lpadmin -p ‘PRINTERNAME’ -D PRINTER\ NAME -L ‘OFFICE’ -v lpd://xx.xx.xx.xx -P /Library/Printers/PPDs/Contents/Resources/Xerox\ WorkCentre\ 7855.gz -o printer-is-shared=false -E​

运行脚本后出现此错误:

lpadmin: Unknown option “?”.

我发现这很奇怪,因为没有“?”在脚本中。

1 个答案:

答案 0 :(得分:0)

我有个主意,为什么不这样尝试呢? sh壳之间有巨大的差异,所以让我知道它是否晃动,我有更多的想法。

#!/bin/sh
PPD="PRINTERNAME"
INFO="PRINTER\ NAME"
LOC="OFFICE"
URI="lpd://xx.xx.xx.xx"
OP ="printer-is-shared=false"
# This parameter P is new to me. Is it the paper-name ?
P="/Library/Printers/PPDs/Contents/Resources/Xerox\ WorkCentre\ 7855.gz"

lpadmin -p "$PPD"  -D "$INFO" -L "$LOC"  -v "$URI" -P "$P" -o "$OP" -E;