自动编译

本文主要介绍了Bash脚本中命令行参数的使用及条件判断。通过示例展示了如何判断命令行第一个参数是否为空,还介绍了if条件判断关键字、[ ]语法要求、文件比较运算符 -f 等,以及根据不同参数执行不同操作的脚本示例。

(命令列第一个参数) $1 如果只等如X, 那就是变量没有内容,是空变量, 也
是用来测试命令列上有没有参数,例如

user@minix-nb:~$ cat a
#! /bin/bash

#if [ X$1 = X ]
if[/$1 = /1/ ]

then
echo "the first argu is empty"
else
echo "the first argu is $1"
fi
user@minix-nb:~$ ./a
the first argu is empty
user@minix-nb:~$ ./a 123
the first argu is 123
user@minix-nb:~$

 


if [ -f $home/$1]
1.if 条件判断关键字
2.[ ] 语法要求
3.-f 文件比较运算符,如果 filename为常规文件,则为真
4.$home 取变量的值,如果.sh文件里面没有该就是则会取用户系统变量!你可以在终端中执行一下 echo $home 看看是什么路径
5.$1 取输入的第一个参数.例: sh xxx.sh 111 那么此时 $1的值就是 111

   大小为0 的  执行 

# find / -type f -size 0 -exec ls -l {} \;

 

#!/bin/sh

if [ /$1/ = /all/ ];then

#查找当前目录 最小深度 类型 目录 如果查到 读到变量 LANGUAGE

 find . -mindepth 1 -typy d | while read LANGAGUE; do

    #如果是build目录 进入文件

    if[ -f "$LANGAGUE"/build ];then

      cd "$LANGAGUS"

      ./build all

      #返回上一级

      cd ..

    fi

    done

    elif [ /$1/ = /clearn/ ]; then

    find . -mindepth 1 -type d | while read LANGUAGE; do

      if [ -f  "$LANGUAGE" /build  ]; then

      cd "$LANGUAGE"

      ./build clean

      cd ..

    fi

  done

else 

echo "syntax :build all | clean "

fi

 

转载于:https://www.cnblogs.com/countryboy666/p/11049040.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值