我有一个简单的 bash 循环,它在 linux 中运行良好,而不是在基于 cygwin 的本地 Git Bash 中,在 Windows 中运行
我有这个 for 循环:
#!/bin/bash
for (i=2; i<4; ++i); do
echo "dddd"
done
在 Git Bash 中它给了我这个错误:
./test.sh: line 5: syntax error near unexpected token `newline'
./test.sh: line 5: ` done
linux 版的 bash
Amazon Linux 版本 20xx.0x 可用。 [user1 ~]$ bash --version GNU bash,版本 4.2.46(2)-release (x86_64-redhat-linux-gnu) 版权所有 (C) 2011 Free Software Foundation, Inc. 许可 GPLv3+:GNU GPL 版本 3 或更高版本
Git bash 版本
GNU bash,版本 4.3.46(2)-release (i686-pc-msys) 版权所有 (C) 2013 Free Software Foundation, Inc. 许可 GPLv3+:GNU GPL 版本 3 或更高版本 http://gnu.org/licenses/gpl.html
这是免费软件;您可以自由更改和重新分发它。 在法律允许的范围内,不提供任何保证。
最佳答案
需要两个括号:
#!/bin/bash
for ((i=2; i<4; ++i)); do
echo "dddd"
done
关于linux - 带有括号的 Bash for 循环在 linux 中工作,而不是在 Git Bash 中工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54331291/