0
A
回答
0
在Windows上,只能使用Paraphernalia的網絡打印機。常見型號沒有雙向打印機驅動程序。所以我已經在virtualmachine上安裝了linux。
我使用的雙向USB驅動程序在Linux(在同一驅動程序是薄荷,* buntu發行),並從下方的這個bash腳本cmd.txt execeute一個PJL命令。
但我仍然無法識別何時閱讀PJL迴應。使用定影器命令識別/dev/usb/lp0繁忙狀態不起作用,所以我嘗試讀取與dd的循環並檢查回讀大小。它的作品,但有時必須發送PJL幾次纔得到迴應。
#!/bin/bash
PRINTER=/dev/usb/lp0
ESCAPE=$(echo -e "\e")
FF=$(echo -e "\x0C")
char=
IFS=""
SSKIP=0
echo "" > a.txt
echo "" > b.txt
echo "" > temp.txt
while read p; do
echo -e "#######BEGIN$p-\r\n" >> a.txt
echo $p
while true
do
#WAIT FOR NOT BUSY
while true
do
fuser -s $PRINTER
if [ $? -ne 0 ]
then
break
fi
done
#send PJL to printer
echo -e "\e%[email protected]\r\[email protected] INQUIRE $p \r\n\e%-12345X" > $PRINTER
#TRY TO READ IMMEDIATELY
char=$(dd if=$PRINTER of=temp.txt 2>&1)
#send escape after read
echo -e "\e" > "$PRINTER"
#CHECK THAT dd READ ANY BYTES
echo "$char" | grep "bytes copied" > /dev/null
if [ $? -ne 0 ]
then
printf "."
else
echo "$char" | grep "^0 bytes copied" > /dev/null
if [ $? -ne 0 ]
then
cat temp.txt >> b.txt
echo "" > temp.txt
break
else
printf "."
fi
fi
char=""
done
echo
echo -e "#######END$p-\r\n" >> a.txt
done <cmd.txt
+0
好吧,看完後你可以發送ESCAPE和下一個PJL回讀工作在第一時間。 echo - 「\ e」>「$ PRINTER」 – tosiek
相關問題
- 1. Okidata MB760,MB492等PJL命令
- 2. PJL命令設置方向
- 3. JAVA套接字 - 執行PJL命令
- 4. bash命令和返回狀態
- 5. 命令模式返回狀態
- 6. FTP ListDirectory命令返回狀態碼125
- 7. Solr優化命令狀態
- 8. 如何在linux shell中獲取命令返回狀態
- 9. Vagrant - SSH命令以非零退出狀態回覆
- 10. gradlew沒有返回飛行用命令的錯誤狀態
- 11. 檢查unix shell腳本中psql命令的返回狀態
- 12. Unix命令失敗但仍返回狀態0
- 13. Python的 '子' CalledProcessError:命令 '[...]' 返回非零退出狀態1
- 14. 在shell_exec命令中運行後檢查tar命令的狀態?
- 15. shell腳本ssh命令退出狀態
- 16. Capistrano&Bash:忽略命令退出狀態
- 17. 多行命令和狀態碼
- 18. 獲取交貨狀態命令
- 19. 命令行工具/使用狀態
- 20. Mercurial:狀態類似於qdiff的命令?
- 21. Windows命令獲取服務狀態?
- 22. 黃瓜,耙中止,命令狀態1
- 23. 獲取調用命令的狀態
- 24. Python函數subprocess.check_output返回CalledProcessError:命令返回非零退出狀態
- 25. 讀命令進入命令行C#
- 26. 如何從java命令promt讀取java swing線程,事件完成狀態
- 27. 檢查服務的狀態,然後執行命令和回顯狀態給用戶
- 28. HID閱讀()命令
- 29. imaplib.error:命令搜索狀態AUTH非法的,只允許在狀態來選擇
- 30. 簡化PS命令:Get-Service |其中{($ _狀態-eq 「停止」。) - OR($ _狀態-eq 「運行」。)}
我已發現兩件事情: 1.打印機驅動器必須支持雙向雙向通信 2.有工具PCL用具經由網絡回讀PJL:[鏈接](http://www.pclparaphernalia.eu /index.html) – tosiek