Math.min()
일부 자바스크립트 계산을 bash로 변환해야 하는데 bash, bc 또는 쉘의 다른 계산기에 동등한 자바스크립트 함수가 있는지 궁금합니다.
답변1
POSIX 쉘 사용:
min() {
min=$1
shift
for arg do
min=$((arg<min?arg:min))
done
printf '%s\n' "$min"
}
zsh
, 및 를 제외한 ksh
모든 쉘은 yash
부동 소수점 숫자를 지원하지 않습니다.
POSIX 도구 상자 사용:
min() {
awk 'BEGIN {
min = ARGV[1]
for(i = 2; i < ARGC; i++)
min = ARGV[i] < min ? ARGV[i] : min
print min
}' "$@"
}
당신이 가지고 있다면 perl
:
min() {
perl -MList::Util=min -le 'print min @ARGV' "$@"
}
또는 perl6
:
min() {
perl6 -e '@*ARGS.min.say' "$@"
}
답변2
데이터를 파일에 푸시한 다음 정렬하고 첫 번째 행을 가져옵니다.
#/bin/sh
echo $VAR1 > $FILE
echo $VAR2 >> $FILE
echo $VAR3 >> $FILE
RET=$(sort -n $FILE | sort -n)