繁体   English   中英

如何在Windows上借助cygwin从命令行运行Shell脚本?

[英]How can I run a shell script from command line with the help of cygwin on Windows?

我正在尝试运行一个Shell脚本,该脚本从Windows命令行上获取输入参数列表。 与在Windows上运行Shell脚本有关的大多数(全部?)问题只是将用户指向cygwin / git / anaconda工具。 但是,出于我的目的,我需要找到一种方法专门从命令行运行Shell脚本。 原因是我想通过Matlab运行此Shell脚本。 Matlab具有system()命令,该命令允许您从命令行运行命令。

我已经接近解决方案,但是我无法正确读取输入参数。 这是我对命令行的调用:

C:\Users\qualiaMachine> C:\cygwin64\bin\bash --login -c  "W:/code/bashScripts/pre/zipAllSingleChOutput.sh" 1

该调用的格式遵循我在此处找到的说明,唯一的参数以'1'开头: https : //www.mathworks.com/matlabcentral/answers/221901-can-i-call-a-bash-shell-script -使用- cygwin的贯通MATLAB

类似于该帖子中的OP,我无法使我的脚本接受输入参数。 我在shell脚本中有一行,

echo "$#" 

我用来确定参数是否正确传递,到目前为止我还没有运气。 我还应该提到的是,我现在通过命令行进行测试,而不是通过Matlab调用system()(只是为了运行更直接的测试)。 任何想法如何解决这个问题?

OY合租。 解决方案就像将双引号移到输入参数列表之后一样简单。

C:\Users\qualiaMachine> C:\cygwin64\bin\bash --login -c  "W:/code/bashScripts/pre/zipAllSingleChOutput.sh 1"

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM