Cygwin -Windows无法初始化设备PRN

我在Windows命令提示符下执行shell脚本,通过使bash作为认应用程序来打开.sh文件。 我能够运行没有input参数的任何脚本,但对于具有input参数的脚本,我得到错误“无法初始化设备PRN”。 我可以看到参数没有被传递给脚本。 我怎样才能将一个参数从Windows命令行传递给shell脚本?

这是我在命令提示符下所做的。

X:> OracleSPExec.sh过程数据库

PROCEDURE =

导出程序

DATABASE =

导出数据库

sudo的PHP exec在CentOS上失败

将数据从shell脚本插入到'安全'表中

使用POST数据和命令行标题调用CURL

Cgywin .sh文件作为Windows任务计划程序运行

在C中实现一个shell

哈德森:“是的:标准输出:断pipe”

为什么 $减less到$内部反引号内?

如何获取IShellItem的系统映像列表图标索引?

区分哪些文件夹丢失

是否有可能编写一个在bash / shell和PowerShell中运行的脚本?

看来shell脚本使用print命令/内建,这可能与打印文件到PRN :device的windows print.exe冲突。

两个可能的问题:

失踪shebang #!

您必须在脚本的开头添加以下行:

#!/usr/bin/bash

文件开头的Unicode BOM

有时如果文件是用UTF-8和BOM编写的,那么shebang不能被解释。 删除你的帖子前面的标题(隐藏?)。

我遇到了这个问题,试图运行一些本地发明的标签脚本,曾经工作,但我有一台新的笔记本电脑,它运行的是Windows 10.我安装的cygwin版本中的bash似乎没有print作为一个内置的命令(它确实有printenv和printf作为外部命令)并且没有print命令,而不是System32 print命令:

$ type print print is hashed (/cygdrive/c/WINDOWS/system32/print) $ type echo echo is a shell builtin

作为解决方法,我在每个脚本的顶部附近添加了这一行:

alias print=echo

这消除了“无法初始化设备PRN”的问题。 这仍然是很好的知道为什么这一点工作。

相关文章

本篇内容主要讲解“gitee如何上传代码”,感兴趣的朋友不妨来...
这篇“从gitee上下的代码如何用”文章的知识点大部分人都不太...
这篇文章主要介绍“gitee如何下载仓库里的项目”,在日常操作...
本篇内容主要讲解“怎么在Gitee上更新代码”,感兴趣的朋友不...
本文小编为大家详细介绍“怎么将工程托管到gitee”,内容详细...
这篇文章主要介绍了gitee中图片大小如何调整的相关知识,内容...