shell编程第八弹--实战(1)

shell编程第八弹–实战(1)


一、文件操作

  1 #!/bin/bash
  2 
  3 #创建文件夹
  4 #检查文件夹是否存在
  5 if [ ! -d "wz" ];then
  6 mkdir wz
  7 else
  8 echo "dictory is exist"
  9 fi
 10 
 11 #拷贝所有的文件到文件夹
 12 
 13 if [ ! -f "wz/2.sh" ];then
 14 cp *.sh wz
 15 else
 16 echo "error"
 17 fi

注:

-e 判断对象是否存在
-d 判断对象是否存在,并且为目录
-f 判断对象是否存在,并且为常规文件
-L 判断对象是否存在,并且为符号链接
-h 判断对象是否存在,并且为软链接
-s 判断对象是否存在,并且长度不为0
-r 判断对象是否存在,并且可读
-w 判断对象是否存在,并且可写
-x 判断对象是否存在,并且可执行
-O 判断对象是否存在,并且属于当前用户
-G 判断对象是否存在,并且属于当前用户组
-nt 判断file1是否比file2新  [ "/data/file1" -nt "/data/file2" ]
-ot 判断file1是否比file2旧  [ "/data/file1" -ot "/data/file2" ]

二、 判断‘abcd’是否在hello.sh中

1 #!/bin/bash
  2 
  3 #判断‘abcd’是否在hello.sh中
  4 if grep "abcd" hello.sh > /dev/null 2>&1
  5 then
  6     echo "exist"
  7 else
  8     echo "no exist"
  9 fi

注意:

 /dev/null代表linux的空设备文件,所有往这个文件里面写入的内容都会丢失,俗称“黑洞” 
    & 表示等同于的意思,2>&1,表示2的输出重定向等同于1
    1、2>/dev/null意思就是把错误输出到“黑洞” 
    2、>/dev/null 2>&1默认情况是1,也就是等同于1>/dev/null 2>&1。意思就是把标准输出重定向到“黑洞”,还把错误输出2重定向到标准输出1,也就是标准输出和错误输出都进了“黑洞” 
    3、2>&1 >/dev/null意思就是把错误输出2重定向到标准出书1,也就是屏幕,标准输出进了“黑洞”,也就是标准输出进了黑洞,错误输出打印到屏幕 
    关于这里”&”的作用,我们可以这么理解2>/dev/null重定向到文件,那么2>&1,这里如果去掉了&就是把错误输出给了文件1了,用了&是表明1是标准输出。

三、输入名字,与现有的名字进行对比

  1 #!/bin/bash
  2 
  3 #输入名字,与现有的名字进行对比
  4 
  5 echo "please input name:"
  6 read name
  7 
  8 if [ "$name" == "www" ]
  9 then
 10     echo "success"
 11 else
 12     echo "fail"
 13 fi 

四、自动给文件加可执行权限,并且执行文件

 1 #!/bin/bash
  2 
  3 #自动给文件加可执行权限,并且执行文件
  4 if [ -n "$*" ]
  5 then
  6     chmod +x $*
  7     ./$*
  8 else
  9     echo "please input filename"
 10 
 11 fi

注:
-z 字符串 字符串的长度为零则为真
-n 字符串 字符串的长度不为零则为真
∗ 以 一 个 单 字 符 串 显 示 所 有 向 脚 本 传 递 的 参 数 。 如 " * 以一个单字符串显示所有向脚本传递的参数。 如" "*“用「”」括起来的情况、以"$1 $2 … $n"的形式输出所有参数。


这次就写几个比较简单的,练习一下,下次开始写一些进阶的脚本。


欢迎关注微信公众号技术修炼之路,我们一起成长,一起进步


在这里插入图片描述

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值