我inheritance了一些编写的shell脚本来执行自动化性能testing,而没有任何shell脚本知识。 我通过一些指南浏览,并使用语言,直到我可以做我的项目。 它大部分进展顺利,但我坚持的东西,我绝对没有能够find任何其他地方的答案。
部分旧代码ssh进入testing中使用的服务器,脚本作为参数。 我需要这个脚本在windows和linux上做不同的事情。 到目前为止,我的最佳解决scheme是在uname -a的输出中对Cygwin进行grep,如果find,则执行windows代码。
不幸的是,脚本在通过ssh传递时以及在windows系统上通过Cygwin执行时都会变得糟糕。
#!/bin/bash if [ `uname -a | grep "Cygwin"` ]; then echo "ARRGG windows!" else echo "Some linux command." fi
收益率:
仅列出每个基本频道的红帽卫星子频道
zsh:命令未findlaravel
在Emacs打开时自定义窗口
保存Crontab文件
使用sed用w命令显示空闲时间最长的用户
./test.sh:第2行:[:太多的参数
然后分支到非窗口逻辑。 同样的事情似乎在我尝试过的任何linux发行版上运行良好。
我剩下三个问题。 为什么我得到这个exception,除Googlesearch之外,有什么方法可以让我得到像这样的特定问题(shell脚本,Cygwin,ssh和一个错误的交集)的答案,还有更好,更规范的方法吗?testing平台?
感谢您的时间,我很乐意提供任何其他信息,这将有所帮助。
这个麻烦的条款被逐字复制了,其余的都是由SO编写的。
脚本 – 复制行和第二行如果第二行有一个string
附加到/etc/apt/sources.List
有没有办法告诉启动的GUI应用程序何时显示其窗口?
Bash脚本启动进程,等待随机,终止进程,重启
在文件中扩展已知的环境并留下其他人
Cygwin上的uname -a的输出将会是很多单词,包括Cygwin 。 每个单词都将是一个参数来test (aka [ )。 因此,投诉。 你可能想要:
case "$(uname -a)" in (*Cygwin*) echo "Oh bother!";; (*) echo "Phew!";; esac
要么:
if [ -n "$(uname -a | grep Cygwin)" ] then echo "Oh bother!" else echo "Phew!" fi
要么:
if [ $(uname) = Cygwin ] then echo "Oh bother!" else echo "Phew!" fi
这可以在Mac OS X上获得Cygwin或linux – 或Darwin,以及在AIX,Solaris和HP-UX上的等效名称 – 并避免多参数问题,只运行一个命令而不是两个命令。
我试过你的命令,它在bash 4.2.37上没有错误地执行。
它也将工作没有方括号或反标记 – if测试下一个命令的返回代码…您可以使用test命令,也可以拼写[ ,但它也将与返回代码grep甚至是:总是如此。
#!/bin/bash if uname -a | grep Cygwin > /dev/null; then echo "ARRGG windows!" else echo "Some linux command." fi
请注意,还有一个bash环境变量$OSTYPE ,它将在linux-gnu下是linux-gnu 。
这里有一个深入的讨论: 从Bash脚本中检测 *** 作系统
总结以上是内存溢出为你收集整理的[:关于Cygwin Shell脚本的参数太多全部内容,希望文章能够帮你解决[:关于Cygwin Shell脚本的参数太多所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)