[英]Shell script variable & loop
我想打印命令行傳入的最大數字,但我不確定如何正確分配變量。
解決這個問題的正確方法是什么?
#!/bin/sh
x=0
for var in "$@";
do
if [ $var -gt $x ]; then
$x=$var #this does not work
fi
done
echo "Largest number: $x"
你的錯誤是$x=$var
。 它應該是x=$var
。 您可以將其視為$x
是變量x
包含的值,因此您不希望分配給x
值而是分配給x
本身。
#!/bin/sh
x=0
for var in "$@"; do
if [ "$var" -gt "$x" ]; then
x="$var"
fi
done
echo "Largest number: $x"
這是一個使用一些core-utils的替代腳本,它將使用負數:
#!/bin/bash
echo "Largest: $(printf '%i\n' $@ | sort -n | tail -n 1)"
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.