[英]Bash for loop with Parenthesis working in linux and not in Git Bash
我有一個簡單的bash循環,在Linux中工作正常,而不是在Windows中基於cygwin的本地Git Bash中
我有這個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
Amazon Linux版本20xx.0x可用。 [user1〜] $ bash --version GNU bash,版本4.2.46(2)-發行版(x86_64-redhat-linux-gnu)版權所有(C)2011自由軟件基金會,公司。許可證GPLv3 +:GNU GPL版本3或更高版本
GNU bash,版本4.3.46(2)-發行版(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
將行尾從CRLF更改為LF。 有很多方法可以做到這一點。 您最喜歡的編輯器可以選擇更改行尾,並在保存文件時保留現有的行尾。
不過,最簡單的方法是使用dos2unix
。 要就地轉換,請使用dos2unix bashtest.sh
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.