输出三个数中的最大数?linux shell编程

 我来答
白彩荣聊寅
2020-01-09 · TA获得超过3.6万个赞
知道大有可为答主
回答量:1.3万
采纳率:27%
帮助的人:761万
展开全部
以上程序有如下几点错误:
1,!书写错误。应该改成英文的叹号。
2,tcsh中while的语法错误。以上的while写法是sh/bash中while的用法。对于csh/tcsh中while的用法应该为while(expression)
do
something
end
3,为变量赋值错误。read
name也是sh/bash中为变量赋值的方法,在csh/tcsh中应该改为:
set
name
=
$<
4,判断是否相等错误。应该改为==
最终修改的代码为:
#!/bin/tcsh
set
again=yes
while
(
$again
==
"yes"
)
echo
-n
"input
your
name:"
set
name
=
$<
echo
"your
name
is
$name"
echo
-n
"do
you
want
to
continue
again?"
end
匿名用户
2010-06-09
展开全部
#!/bin/sh
#接收3个数值
_A=$1
_B=$2
_C=$3
_D=`echo $_A|awk '{if($0~/[^0-9]/) print "1"}'`
if [ ! -z $_D ]
then echo "$_A is not number"
fi
_D=`echo $_B|awk '{if($0~/[^0-9]/) print "1"}'`
if [ ! -z $_D ]
then echo "$_B is not number"
fi
_D=`echo $_C|awk '{if($0~/[^0-9]/) print "1"}'`
if [ ! -z $_D ]
then echo "$_C is not number"
fi
if [ $_A -ge $_B ]
then _D=$_A
else
_D=$_B
fi
if [ $_D -ge $_C ]
then echo $_D
else
echo $_C
fi
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
七家生0D
2010-06-09 · TA获得超过1944个赞
知道小有建树答主
回答量:1675
采纳率:0%
帮助的人:1260万
展开全部
echo -e "$x\n$y\n$z" | sort -n |tail -n1

在脚本里面就把xyz换成 $1 $2 $3
跟上面那个差不多

lix@lxLaptop:~$ x=10
lix@lxLaptop:~$ y=3
lix@lxLaptop:~$ z=19
lix@lxLaptop:~$ echo $x $y $z
10 3 19
lix@lxLaptop:~$ echo -e "$x\n$y\n$z" | sort -n |tail -n1
19
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式