shell学习笔记



1、shell中的变量
环境变量:用于保存操作系统运行时的环境参数
位置变量:Bash将传递给脚本的参数保存在位置变量中,以便于在脚本中引用这些参数
预定义变量:有系统保留和维护的一组特殊的变量,这些变量通常用于保存程序运行状态等
自定义变量:由用户自行定义的变量。可用于用户编写脚本、多个命令键的值传递等、
2、使用数组
$0:当前进程或者脚本的名称
$*:传递给脚本的所有参数
$$:当前进程或脚本的pid号
$!:后台运行的最后一个pid号
$?:用于返回上一条命令是否成功执行。如果成功执行返回0,否则返回非
$#:保存脚本的参数个数

3、变量运算

  猜数游戏脚本:

#!bin/bash
RAN = `expr $RANDOM %10`#产生10以内随机数
RAN = `expr $RAN +1`#产生的随机数加1
echo "it's a gussing game"
echo "number range: 1-10"
while true:
        do
        echo  -n "please enter the number you guss:"
        read NUM
        if [$NUM -lt 1]   || [10 -lt $NUM]
         then
        echo "you enter num out of range"
        continue
        fi
        if [$NUM = $RAN]
        then
        echo "you gussed it"
        unset NUM RAN  #清除变量
        exit 0
        if [$NUM -lt $RAN]
        then
         echo "you enter num too small"
        fi
        if [$RAN -lt $NUM]
         then 
         echo "you enter num too large"
        fi
 done


4、数组操作

${array[2]} //第三个元素
$array         //默认第一个元素
${array[*]}    //数组中所有元素
${array[@]:}//下标大于等于2的所有元素
${#array[@]}//数组中元素个数

从小到大输出数组中元素脚本实现:
#!bin/bash
array=(10,7,5,6,8,9,4,3,1,2)
LENTH=${#array[@]}
i = 0
while true:
 do
     j = expr `$i +1`
     while ["$j" -lt $LENTH]
      do
      if ["$array[j]" -lt "$array[i]"]
      then
      temp = array[i]
      array[i] = array[j]
      array[j] = temp
      fi
      j = expr `$j` + 1
     done
     i = expr `$i` + 1
done
echo ${array[*]}
#清除变量
unset i j LENTH temp
unset array 

5、使用函数
   <pre name="code" class="cpp">#!bin/bash
function A ()
{
   echo `expr $1 + $2`
}
D = `A 100 200` //调用函数A
if [$? = 0]//判断是否调用成功
then 
 echo "function succeed! > ./filename" #输出到指定文件
 echo "D=$D"
else
 echo "function failed!"
fi
6、脚本中调用函数文件


<pre name="code" class="cpp">
写好脚本后将脚本文件命名为function.example
在脚本中调用函数文件格式;<pre name="code" class="cpp">../function.example
返回函数执行状态
return : 将函数最后一条命令的执行状态作为其状态信息返回
return 0: 返回函数成功执行的信息
return 1:返回错误的信息
</pre><pre name="code" class="cpp">7、脚本实现自动查找软件依赖的文件所在的软件包
<pre name="code" class="cpp">function query()
{
 LINE=0
 PACKET=null
 MAX =`ls $2/*.rpm |wc -l`
while true
do 
   LINE = `expr $LINE +1`
   if [$MAX -lt $LINE]
   then 
   echo "not find any package"
   unset LINE PACKET MAX
   return 1
   fi
   PACKET=`ls $2/*.rpm |sed -n ${LINE}p`#获取第LINE行内容
   
   #rpm -pql 列出PACKET指向的软件包下所有文件列表
   #grep -v 去掉可能的警告或错误
   #/dev/null 重定向错误到系统回收池
   rpm -pql $PACKET 2>/dev/null |grep -v "warning:" 2>/dev/null |grep $1 &>/dev/null

   if [$? =0]
   then
   echo $PACKET
   unset LINE PACKET MAX
   return 0
   fi
done
}
if [$# !=1]
then
 echo "must have a parameter"
 echo "usage:"$0" parameter"
exit 1
fi
PACKET_DIR = /media/server
DEPEND = $1
MESSAGE =null
echo "querying ,please wait..."
if [MESSAGE = `query $DEPEND$PACKET_DIR`]
then
echo "query is completed!"
echo "file where the package is :"
echo "     " $MESSAGE
else
echo "query is completed!"
echo $MESSAGE 
fi






                
资源下载链接为: https://pan.quark.cn/s/22ca96b7bd39 在当今的软件开发领域,自动化构建与发布是提升开发效率和项目质量的关键环节。Jenkins Pipeline作为一种强大的自动化工具,能够有效助力Java项目的快速构建、测试及部署。本文将详细介绍如何利用Jenkins Pipeline实现Java项目的自动化构建与发布。 Jenkins Pipeline简介 Jenkins Pipeline是运行在Jenkins上的一套工作流框架,它将原本分散在单个或多个节点上独立运行的任务串联起来,实现复杂流程的编排与可视化。它是Jenkins 2.X的核心特性之一,推动了Jenkins从持续集成(CI)向持续交付(CD)及DevOps的转变。 创建Pipeline项目 要使用Jenkins Pipeline自动化构建发布Java项目,首先需要创建Pipeline项目。具体步骤如下: 登录Jenkins,点击“新建项”,选择“Pipeline”。 输入项目名称和描述,点击“确定”。 在Pipeline脚本中定义项目字典、发版脚本和预发布脚本。 编写Pipeline脚本 Pipeline脚本是Jenkins Pipeline的核心,用于定义自动化构建和发布的流程。以下是一个简单的Pipeline脚本示例: 在上述脚本中,定义了四个阶段:Checkout、Build、Push package和Deploy/Rollback。每个阶段都可以根据实际需求进行配置和调整。 通过Jenkins Pipeline自动化构建发布Java项目,可以显著提升开发效率和项目质量。借助Pipeline,我们能够轻松实现自动化构建、测试和部署,从而提高项目的整体质量和可靠性。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值