簡體   English   中英

Shell腳本變量和循環

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM