shell作业三

1.你需要打印一个给定的数字的反序,如输入10572,输出27501,如果没有输入数据,应该抛出错误和使用脚本说明。
read -p "Please input a int num:" num

expr $num + 1 &> /dev/null

[ ! $? -eq 0 ] && {
  echo "shu ru cuo wu"
  exit 1
}
echo $num | rev

read -p "Please input a int num:" num

expr $num + 1 &> /dev/null

[ ! $? -eq 0 ] && {
  echo "shu ru cuo wu"
  exit 1
}
c=0
while true
do
  if [ ! $num -eq 0 ] 
  then
    let a=num/10
    let b=num%10
    let c=c*10+b
    num=$a
  else
    break
  fi
done
echo $c
2.写出SHELL函数RevertInput,函数必须获取三个参数,然后将三个参数倒序echo打印出来,函数必须检查参数个数的合法性,如果参数非法,打印”Illegal parameters”,对于下面的输入:

RevertInput “this is para1” para2 para3
应该输出:
para3
para2
this is para1
(注:需要注意第一个参数中的空格)

RevertInput(){
  array1=("$1" $2 $3)
  
  for ((i=2;i>=0;i--))
  do
    if [ -z "${array1[$i]}" ]
    then
      echo "Illegal parameters"
    else
      echo ${array1[$i]}
    fi
  done
}

RevertInput "this is para1" para2 para3

你可能感兴趣的:(bash)