我正在尝试运行一个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-using-cygwin-through-matlab
类似于那篇文章中的操作,我无法让我的脚本接受输入参数。我在shell脚本中有一行,
echo "$#" 我用它来确定参数是否被正确地传递,到目前为止我还没有成功。我还应该提到,在这一点上,我是通过命令行测试的,而不是通过Matlab调用system() (只是为了运行更直接的测试)。有什么办法解决这个问题吗?
发布于 2019-02-01 01:17:21
哦,好吧。解决方案很简单,只需将双引号移到输入参数列表之后即可。
C:\Users\qualiaMachine> C:\cygwin64\bin\bash --login -c "W:/code/bashScripts/pre/zipAllSingleChOutput.sh 1"https://stackoverflow.com/questions/54465820
复制相似问题