以实例入门Linux shell

实例1 hello shell

创建并编辑脚本

创建脚本

touch helloshell.sh

脚本内容

#!/bin/bash
# 声明使用的shell种类
echo "hello shell"
# 输出 hello shell

为脚本添加 x 权限

chmod +x helloshell.sh

执行脚本

./helloshell.sh

执行结果

在这里插入图片描述

详解

  • 执行脚本,脚本要有 x 权限(即执行权限)
  • 要使用./ + 脚本名 。不加表示去PATH目录下寻找,加上表示当前目录下寻找

实例 maven 批量打包实例

脚本源码

#!/bin/bash
# 首先获取一下当前的工作目录
presentPath=`pwd`
echo "当前目录 $presentPath"

# 遍历 需要打包的目录
# 变量所有子目录(仅仅遍历目录)子目录下都有pom.xml

# 循环时 catalog 表示当前目录名称

for catalog in `ls ./ -F |grep "/$"`;do

# 进入 需要打包的目录
cd $presentPath"/"$catalog

# 等待一秒,如果目录没有进入就,执行了打包,会报错
sleep 1

# 执行打包
mvn package

# 结束 do 为开始
done

# 再次遍历 包打包完毕的jar包批量拷贝出去来
for catalog in `ls ./  -F |grep "/$"`;do
# 通过 find 命令匹配 打包的jar包
file_name=`find $presentPath"/"$catalog"target" -name "*.jar"`
echo "查询到了jar包  :   $file_name "

# 通过cp命令 拷贝出jar打破指定目录

cp -rf $file_name $presentPath"/jars/"

done

详解

for 循环

for 循环 分割字符串默认为 空白(是空白,不是空格)。

查询子目录(仅查询目录)

ls ./ -F |grep "/$"

grep 匹配了/ 目录是有/的

变量声明

presentPath=`pwd`

声明了一个变量,当前路径,并且 使用 pwd 命令获取当前路径,赋值给presentPath。
" ` "符号不是单引号,是键盘1 左边的。

变量拼接

cd $presentPath"/"$catalog
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章