Bash 脚本 - 变量和 | 问题公元前
Bash Script- Issue with variables and | bc
所以我有一个变量,我想在 if 语句中与另一个数字进行比较。
b=8.25
if [ $(echo "$b < 10" | bc) -ne 0 ]; then
echo "hey"
fi
我收到以下错误
(standard_in) 1: syntax error
我知道问题是里面有 b 变量,我怎样才能让它保持在那里?
请帮忙
将比较结果单独存储在一个变量中
b=8.25
# Capture output outside the if
comparison=$(echo "$b < 10" | bc)
# Use the output in the if
if [ $comparison -ne 0 ]; then
echo "hey"
fi
您的脚本文件可能具有 DOS 风格的 CRLF 行结尾:
$ b=8.25
$ if [ $(echo "$b < 10" | bc) -ne 0 ]; then
> echo "hey"
> fi
hey
$ b=$'8.25\r'
$ if [ $(echo "$b < 10" | bc) -ne 0 ]; then
> echo "hey"
> fi
(standard_in) 1: illegal character: ^M
bash: [: -ne: unary operator expected
运行 dos2unix
在你的脚本文件上。
所以我有一个变量,我想在 if 语句中与另一个数字进行比较。
b=8.25
if [ $(echo "$b < 10" | bc) -ne 0 ]; then
echo "hey"
fi
我收到以下错误
(standard_in) 1: syntax error
我知道问题是里面有 b 变量,我怎样才能让它保持在那里?
请帮忙
将比较结果单独存储在一个变量中
b=8.25
# Capture output outside the if
comparison=$(echo "$b < 10" | bc)
# Use the output in the if
if [ $comparison -ne 0 ]; then
echo "hey"
fi
您的脚本文件可能具有 DOS 风格的 CRLF 行结尾:
$ b=8.25
$ if [ $(echo "$b < 10" | bc) -ne 0 ]; then
> echo "hey"
> fi
hey
$ b=$'8.25\r'
$ if [ $(echo "$b < 10" | bc) -ne 0 ]; then
> echo "hey"
> fi
(standard_in) 1: illegal character: ^M
bash: [: -ne: unary operator expected
运行 dos2unix
在你的脚本文件上。