我有用户将文件打印到选定的打印机。 我没有为每台打印机创建一个功能,而是希望只有一个并将文件传递给打印和所需的打印机。 当然,以下代码不起作用。 有人能指出我正确的解决方案吗?
list2=`ls /spooldocs/sch/sch* |sort`
Print $list2 $printer2
Print(){
for job in $1 ; do
if [[ $job == *503374*.pcl ]]; then
lp -d$2 $job
lp -d$2 $job
fi
lp -d$2 $job
lp -d$2 $job
lp -d$2 $job
lp -d$2 $job
done
}
答案 0 :(得分:0)
您可以使用shift
将位置参数移到左侧。您可以使用for var; do ... ; done
迭代位置参数:
#!/bin/sh
Print () {
printer=$1
shift
for job; do
echo lp "-d$printer" "$job"
done
}
Print laserjet foo bar baz
示例运行:
$ ./x.sh
lp -dlaserjet foo
lp -dlaserjet bar
lp -dlaserjet baz