Bash invalid arithmetic operator on shell script
本问题已经有最佳答案,请猛点这里访问。
我有以下文件,我想增加版本码:
1 2 3 4 5 | version=$(<versioncode.txt) echo"$version" version=$((version+1)) echo"$version" echo $version > versioncode.txt |
该文件名为"test.sh"。 在命令行上,我运行了以下命令:"bash test.sh"。
输出和错误是这样的:
1 2 3 4 5 | niklasraab@DESKTOP-BLJGB4D:/mnt/c/Flutter/src/hapii$ bash test.sh 1 ")syntax error: invalid arithmetic operator (error token is" 1 niklasraab@DESKTOP-BLJGB4D:/mnt/c/Flutter/src/hapii$ |
问题是我得到了"无效的算术运算符"错误。 我在Windows上运行这个项目。 用bash子系统安装ubuntu。
我只是在我自己的Windows Linux子系统中做到这一点,它似乎工作:
1 2 3 4 5 6 7 8 9 10 11 12 | nellis@L-X-NELLIS:~$ echo 1 >> versioncode.txt nellis@L-X-NELLIS:~$ cat versioncode.txt 1 nellis@L-X-NELLIS:~$ version=$(($(cat versioncode.txt))) nellis@L-X-NELLIS:~$ echo"$version" 1 nellis@L-X-NELLIS:~$ version=$((version+1)) nellis@L-X-NELLIS:~$ echo"$version" 2 nellis@L-X-NELLIS:~$ echo $version > versioncode.txt nellis@L-X-NELLIS:~$ cat versioncode.txt 2 |
当Bash创建此错误消息时,它会执行与"printf"语法错误类似的操作:无效算术运算符(错误标记为"%s") n""$ token"。 为此最终成为
1 | ")syntax error: invalid arithmetic operator (error token is" |
(
要使其工作,您应该从文件