zoukankan      html  css  js  c++  java
  • Linux Shell 编程学习笔记

    1:Shell Script中if语句的条件部分要以分号来分隔

    2:要注意条件测试部分中的空格。在方括号的两侧都有空格

    3:echo "Hi, ${a}s" 单引号中的变量不会进行变量替换操作。

    4:[ -f "$file" ] 判断$file是否是一个文件

    5:[ $a -lt 3 ] 判断$a的值是否小于3,同样-gt和-le分别表示大于或小于等于

    6:[ -x "$file" ] 判断$file是否存在且有可执行权限,同样-r测试文件可读性

    7:[ -n "$a" ] 判断变量$a是否有值,测试空串用-z

    8:[ "$a" = "$b" ] 判断$a和$b的取值是否相等

    9:[ cond1 -a cond2 ] 判断cond1和cond2是否同时成立,-o表示cond1和cond2有一成立


    说明:$#表示包括$0在内的命令行参数的个数。在Shell中,脚本名称本身是$0,剩下的依次是$0、$1、$2…、${10}、${11},等等。$*表示整个参数列表,不包括$0,也就是说不包括文件名的参数列表。

    注意:一定要切记filelist=后边的那个引号不是单引号,而是tab键上边的那个键,或者说是1左边的那个键

    filelist=`ls /home/work`
    for file in $filelist
    do 
    echo $file
    done
     

    实例:shell遍历目录下所有文件 displayfile.sh

    #!/bin/sh
    cd $1
    echo "The Catelog:$1"
    files=`ls -a`
    m=0
    n=0
    for f in $files
    do
     if [ -d "$f" ]; then
      m=`expr $m + 1`
     else
      n=`expr $n + 1`
      echo "$f"
     fi
    done
    echo -e "The Catelog Number is $m"
    echo -e "The File Number is $n"
    运行:./displayfile.sh   /home/work

    实例:Linux shell脚本判断当前是否为root用户

    whoami(显示当前用户的用户名)

    if [ `whoami` = "root" ];then
     echo "root用户!"
    else
     echo "非root用户!"
    fi

    id -u (显示当前用户的uid)

    if [ `id -u` -eq 0 ];then
     echo "root用户!"
    else
     echo "非root用户!"
    fi

  • 相关阅读:
    docker镜像制作及上传到远端镜像仓库
    mysql索引进阶
    电子商务需要用到香港服务器吗?
    golang module goland 配置代理
    nginx做linux服务时,日志有权限提示没权限(nginx: [emerg] open() "/home/www/log/error.log" failed)
    Yaml 、Json 、Dict 之间的转化
    CodeSmith .NET三层架构模板
    C#获取26个英文字母
    基于PCASClass.js和layui.js的城市三级联动
    MySQL变量的使用
  • 原文地址:https://www.cnblogs.com/hubcarl/p/3334008.html
Copyright © 2011-2022 走看看