#!/bin/bash #兩個數運算的簡單腳本 22 + 33 ,一共三個參數 echo $# #對獲取的參數以此判斷是否包含[a-zA-Z]的東西,如果包含就退出.因為數字相加不是數字就是加減乘除 for i_args in "$@" do echo $i_args if [[ ${i_args} =~ [a-zA-Z]+ ]];then echo "contain illegal character" exit 1 fi done #判斷參數個數是3個,讓expr 參數的兩個數字相加如果是數字相加,如果正常執行就返回$?=0,否則執行不正常就不是兩個數字. if [ $# == 3 ];then a=$1 c=$2 b=$3 expr $a + 2 + $b >/dev/null 2>&1 #讓expr 參數的兩個數字相加如果是數字相加,如果正常執行就返回$?=0,否則執行不正常就不是兩個數字 報錯丟空洞 if [ $? == 0 ]; then echo "begin calculation" echo $a $c $b|bc else echo "please input digit" exit 1 fi elif [ $# -lt 3 ]; then #少於三個參數 echo "you are miss args" exit elif [ $# -gt 3 ]; then #多余三個參數 echo "you have too many args" exit 1 fi