我试图写一个bash脚本,可以运行在Mac和Windows上通过win-bash的Windows端,因为它不需要安装。 但是,Mac和Windows似乎有不同的语法意见。
例如,到目前为止,我有以下脚本:
echo "Setup..." shopt -s expand_aliases #make sure aliases work if [ "$(uname)" == "Darwin" ]; then alias p4cli=./bin/p4 else alias p4cli=p4 fi echo "Checking login status..." p4cli groups > .trash if [ $? -ne 0 ]; then p4cli login fi echo "Done!"
这失败了:
[: ==: binary operator expected
在Windows(win-bash),但在Mac上工作得很好(我将假设是更正确的一个…因为它实际上是Unix)。
在一个脚本中悄悄地改变linux密码
在sh脚本中,获取后台进程的pid
从最近3分钟的日志文件中获取/提取数据?
使用grep就好像在awk里面条件一样
在由sudo调用的bash脚本中识别用户
任何想法我在这里做错了吗?
Linux:合并多个文件,每一个都在一个新行上
正确的方式来build立“生活”的目录结构后maven构build?
awk总结出多个文件显示的行不出现在两组文件上
将CSV值导入Bash
Bash printf%q指令无效
尝试single =而不是double == :
if [ "$(uname)" = "Darwin" ]; then
它们都是在一个测试中的字符串相等性检查,但是用于比较的单个等号符合POSIX标准,而双等号则不是 – 它只适用于当前的bash / ksh作为可读性的语法糖(将失败还有旧的炮弹)。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。