shell的输入输出

输入输出代码

1.输出

echo -e(解析转义)

echo:【

#!/bin/sh

echo "进行/$* 的查询"
for i in "$*" ;do
echo $i
done

echo "/$@"
for i in "$@";do
echo $i
done】

printf【

#!/bin/sh
for sk in tom del sam thy; do
printf "my name is ${sk} "
done】

区别:printf没有换行,需要加 换行

1.输入

read

echo "please printf ipadddress"
read ipadd
echo "hello ipadd is ${ipadd}"

<<

3.算术

#!/bin/sh
a=10
b=20

var1=`expr 2 + 2 `
echo "加法:$var1"

varl=`expr $a + $b `
echo "加法:$varl"

varl=`expr $a - $b`
echo "减法:$varl"

varl=`expr $a * $b`
echo "乘法: $varl"

varl=`expr $b / $a`
echo "除法:$varl"

var=`expr $b % $a`
echo "$var"

if [ $a == $b ]
then
echo "a等于b"
fi
if [ $a != $b ]
then
echo "a不等于b"
fi

4.比较

#!/bin/sh
a=10
b=20

if [ $a -eq $b ]
then
echo "a等于b"
else
echo "a不等于b"
fi

 3.test

#!/bin/sh
a=10
b=20
if (test $a -ge $b)
then
echo "dengyu"
else
echo "bu"
fi

 流程控制

if condition
then
    command1 
    command2
    ...
    commandN 
fi


if condition
then
    command1 
    command2
    ...
    commandN
else
    command
fi


if condition1
then
    command1
elif condition2 
then 
    command2
else
    commandN
fi


a=10
b=20
if [ $a == $b ]
then
   echo "a 等于 b"
elif [ $a -gt $b ]
then
   echo "a 大于 b"
elif [ $a -lt $b ]
then
   echo "a 小于 b"
else
   echo "没有符合的条件"
fi


num1=$[2*3]
num2=$[1+5]
if test $[num1] -eq $[num2]
then
    echo '两个数字相等!'
else
    echo '两个数字不相等!'
fi



for var in item1 item2 ... itemN
do
    command1
    command2
    ...
    commandN
done



while condition
do
    command
done

#!/bin/bash
int=1
while(( $int<=5 ))
do
    echo $int
    let "int++"
done


case的
echo '输入 1 到 4 之间的数字:'
echo '你输入的数字为:'
read aNum
case $aNum in
    1)  echo '你选择了 1'
    ;;
    2)  echo '你选择了 2'
    ;;
    3)  echo '你选择了 3'
    ;;
    4)  echo '你选择了 4'
    ;;
    *)  echo '你没有输入 1 到 4 之间的数字'
    ;;
esac



break

#!/bin/bash
while :
do
    echo -n "输入 1 到 5 之间的数字:"
    read aNum
    case $aNum in
        1|2|3|4|5) echo "你输入的数字为 $aNum!"
        ;;
        *) echo "你输入的数字不是 1 到 5 之间的! 游戏结束"
            break
        ;;
    esac
done

contiue

#!/bin/bash
while :
do
    echo -n "输入 1 到 5 之间的数字: "
    read aNum
    case $aNum in
        1|2|3|4|5) echo "你输入的数字为 $aNum!"
        ;;
        *) echo "你输入的数字不是 1 到 5 之间的!"
            continue
            echo "游戏结束"
        ;;
    esac
done
原文地址:https://www.cnblogs.com/520502-thy/p/11981238.html