我正在尝试计算传递给bash脚本的最大参数。这是代码:
#!/bin/sh
max=$1
for var in "$@"
do
if ($var>$max)
then
max=$var
fi
done
echo $max
这是我得到的:
$ /bin/sh my_script 1 2 3
rgz: 11: 1: not found
rgz: 11: 2: not found
rgz: 11: 3: not found
1
我做错了什么?
答案 0 :(得分:3)
这可能适合你 -
#!/bin/bash
max="$1"
for var in "$@"
do
if [ "$var" -gt "$max" ] # Using the test condition
then
max="$var"
fi
done
echo "$max"
答案 1 :(得分:0)
这是我的。小改进......
#!/bin/bash
max="$1"
for v in "$@"
do
[[ $v -gt $max ]] && max=$v
done
echo "$max"
答案 2 :(得分:0)
您可以将结果传递给sort
,并使用tail
找到最大值(排序列表中的最后一项):
your stuff | sort -n | tail -1
可能这不是计算上最有效的方法来获得最大值,但可以完成工作。