shell学习之旅

#################shell学习##########################3

 

1.变量使用${}养成习惯,便于脚本更加清晰定义变量

dir=/opt/desk

echo "${dir}"

 

2 字符串的截取

string一般用这个单词表示字符串

name=chaojichang

echo "${name:1:3}"

 

3数组的表示和运用

volues=(jim tom kim jenkins wilum)

echo "${volues[@]}"

 

@表示所有 或者 * 也是表示所有

 

 

4中括号的使用

 

目录的匹配 [ -d "$dir" ]    文件的匹配   [ -e "$file" ]

数组的匹配使用双中括号[[ $var1 = $var2 ]]

 

 

#!/bin/bash
# author
# url:www.runoob.com
 
printf "%-10s %-8s %-4s\n" 姓名 性别 体重kg  
printf "%-10s %-8s %-4.2f\n" 郭靖 男 66.1234
printf "%-10s %-8s %-4.2f\n" 杨过 男 48.6543
printf "%-10s %-8s %-4.2f\n" 郭芙 女 47.9876

执行脚本,输出结果如下所示:

姓名     性别   体重kg
郭靖           66.12
杨过           48.65
郭芙           47.99

%s %c %d %f 都是格式替代符,%s 输出一个字符串,%d 整型输出,%c 输出一个字符,%f 输出实数,以小数形式输出。

%-10s 指一个宽度为 10 个字符(- 表示左对齐,没有则表示右对齐),任何字符都会被显示在 10 个字符宽的字符内,如果不足则自动以空格填充,超过也会将内容全部显示出来。

%-4.2f 指格式化为小数,其中 .2 指保留2位小数。

    

 

case  in
模式1)
    command1
    command2
    ...
    commandN
    ;;
模式2
    command1
    command2
    ...
    commandN
    ;;
esac






break命令

break命令允许跳出所有循环(终止执行后面的所有循环)。

下面的例子中,脚本进入死循环直至用户输入数字大于5。要跳出这个循环,返回到shell提示符下,需要使用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
posted @ 2021-03-15 17:10  woaibaobei  阅读(55)  评论(0编辑  收藏  举报