Shell编程

简介: Shell编程

调用脚本

1、在用户目录 ~/bin/ 下创建脚本1

cd ~/bin/
vim addNum
#!/bin/bash
#变量和等号之间不可以有空格
NUM1=$1
NUM2=$2 
RES=$NUM1+$NUM2
echo "$RES"

测试脚本1

[lyh@localhost bin]$ chmod 744 ./addNum
[lyh@localhost bin]$ ./addNum 3 4
[lyh@localhost bin]$ 7

创建脚本2

[lyh@localhost bin]$ vim test

在脚本2中调用脚本1

如果两个脚本不在同一个目录,需要使用脚本的完整路径

#!/bin/bash
echo "第1种方式调用脚本1: "
source ./addNum 3 4
echo "第2种方式调用脚本1: "
./addNum 2 5

测试脚本2

[lyh@localhost bin]$ chmod 744 test
[lyh@localhost bin]$ ./test
第1种方式调用脚本1:
7
第2种方式调用脚本1:
7

while 循环

案例-输出0到n的和

双括号

双括号命令允许在比较过程中实用高级数学表达式。比如我们的位移运算符(<< >>)、布尔运算符(& | ~ )、逻辑运算符(&& || )以及(后增val++ 后减val-- 先增++val 先减--val)等。                                                                --《linux命令行与shell脚本编程大全》

#!/bin/bash
SUM=0
i=0
#也可以写做 (($i <= $n))
while [ $i -le $1 ]
do
    SUM=$(($SUM+$i))
    ((i++))
done
echo "SUM=$SUM"

数组+for循环

输出数组内容的两种方式

echo ${arr[@]}

案例-数组冒泡排序

用户输入数组中的内容,通过冒泡排序输出排序后的结果

#!/bin/bash
#预先定义全局变量
arr=("$@")
echo "您输入了 $*"
echo "数组内容:"
echo ${arr[@]}
echo "for循环输出数组内容: "
for i in $@;do
echo $i
done
find_max (){
# 获取数组长度
len=${#arr[@]}
# 冒泡排序
for ((i=0;i<$len-1;i++)); do
    for ((j=0;j<$len-1-$i;j++)); do
        if [ ${arr[$j]} -gt ${arr[$j+1]} ]
         then
            temp=${arr[$j]}
            arr[$j]=${arr[$j+1]}
            arr[$j+1]=$temp
        fi
    done
done
}
find_max
echo "排序结果:"
echo ${arr[@]}

运行结果

case

输入1、2输出周一或周二,输入别的输出"other"。

#!/bin/bash
case $1 in
"1")
echo "周一"
;;
"2")
echo "周二"
;;
*)
echo "other"
;;
esac


相关文章
|
21天前
|
Unix Linux Shell
【Shell 编程指南 日期命令】Date命令:显示与设置系统时间和日期
【Shell 编程指南 日期命令】Date命令:显示与设置系统时间和日期
64 0
|
21天前
|
Shell C++ 开发者
【Shell 编程指南】Shell运算操作符之$[]详解
【Shell 编程指南】Shell运算操作符之$[]详解
26 0
|
21天前
|
Ubuntu Linux Shell
【Linux操作系统】探秘Linux奥秘:shell 编程的解密与实战
【Linux操作系统】探秘Linux奥秘:shell 编程的解密与实战
78 0
|
21天前
|
监控 关系型数据库 Shell
Shell脚本入门:从基础到实践,轻松掌握Shell编程
Shell脚本入门:从基础到实践,轻松掌握Shell编程
|
21天前
|
存储 Shell C语言
shell脚本 编程 变量 基本入门(详解)
shell脚本 编程 变量 基本入门(详解)
|
21天前
|
存储 网络协议 Shell
第十章 Shell编程时常用的系统文件
第十章 Shell编程时常用的系统文件
|
21天前
|
监控 Shell 开发工具
Shell编程
Shell编程
|
21天前
|
Shell
Shell脚本编程基础
Shell脚本编程基础
|
21天前
|
存储 Java Shell
bigdata-04-shell编程基础
bigdata-04-shell编程基础
32 0
|
21天前
|
Shell Linux C++
【Shell 编程设计】 编写自己的清理后台的Shell脚本
【Shell 编程设计】 编写自己的清理后台的Shell脚本
38 1