linux--shell编程(六)使用脚本选项及组合条件测试

写一个脚本:

1.添加10个用户user1到user10, 密码同用户名;但要求只有用户不存在的情况才能添加;

#!/bin/bash
#
for I in {1..10}; do
    if ! id user$I &>/dev/null; then
        useradd user$I
        echo "user$I" | passwd --stdin user$I
    else
        echo "user$I exists"

    fi
done

删除上述十个用户

#!/bin/bash
#
for I in {1..10}; do
    if id user$I &> /dev/null; then
        userdel -r user$I &> /dev/null
        echo "user$I deleted"
    else
        echo "user$I not exists"
    fi
done

扩展: 根据输入参数进行添加或删除指定几个用户,

 #!/bin/bash
  2 #
  3 if [ $# -lt 1 ]; then
  4     echo "Usage: No ARGs"
  5 fi
  6 if [ $1 == "--add" ]; then
  7 for I in `echo $2 | sed ‘s/,/ /g‘`; do
  8     if id $I &> /dev/null; then
  9        echo "$I exists"
 10     else
 11         useradd $I
 12         echo $I | passwd --stdin $I &> /dev/null
 13         echo "Add $I finished"
 14     fi
 15 done
 16 elif [ $1 == "--del" ]; then
 17 for I in `echo $2 | sed ‘s/,/ /g‘`; do
 18     if ! id $I &> /dev/null; then
 19         echo "$I not exists"
 20     else
 21         userdel -r $I
 22         echo "Delete $I finished"
 23     fi

测试 :

整数测试

-le -lt -gt -ge -eq -ne

字符测试

== != > < -n -z

文件测试

-e -f -d -r -w -x

组合测试条件

-a : 与关系

-o : 或关系

! : 非关系

if [ $# -gt 1 -a $# -le 3 ]

if [ $# -gt 1 ] &&  [ $# -le 3 ]

时间: 2024-11-04 19:38:32

linux--shell编程(六)使用脚本选项及组合条件测试的相关文章

第七课-第二讲 07_02_bash脚本编程之六 使用脚本选项及组合条件测试

vim 编辑多个文件 vim file1 file2 file3 就打开了多个文件,但是默认显示第一个文件.next 在末行模式下输入:next 切换至下一个文件prev 末行模式下输入:prev 切换至上一个文件(如果当前文件有改动 要先保存,然后切换至上一个文件)last 在末行模式下输入:last 切换至最后一个文件first 在末行模式下输入:first 切换至第一个文件qa或者qall 在末行模式下输入:qa 一次性全部退出打开的文件 分屏显示一个文件 Ctrl+w,s 按下Ctrl+

使用脚本选项及组合条件测试

使用脚本选项及组合条件测试: 整数测试: -le 小于等于 -lt 小于 -ge大于等于 -gt大于 -eq等于 -ne不等于 字符测试: == 等于 != 不等于 >大于 <小于 -n 测试字符串是否为空,空为真 -z 测试字符串是否不为空,不空为真 文件测试: -e 测试文件是否存在 -f 测试文件是否为普通文件 -d测试文件是否为目录 -r测试文件是否有读权限 -w测试文件是否有写权限 -x 测试文件是否有执行权限 组合测试条件 -a 逻辑与 都满足 -o 逻辑或 满足一条即可 !  非

7.2bash 脚本选项及组合条件测试

7.2 十六.使用vim编辑多个文件 vim FILE1 FILE2 FILE3 :next 切换至下一个文件 :prev切换至前一个文件 :last切换至最后一个文件 :first切换至第一个文件 退出 :qa 全部退出 十七.分屏显示一个文件 Ctrl+w,s:水平拆分窗口Ctrl+w,上下箭头 Ctrl+w,v:垂直拆分窗口 在窗口间切换光标: Ctrl+w,ARROW(上下左右箭头) :qa 关闭所有窗口 十八.分窗口显示多个文件 vim -o 多个文件 水平分隔显示 -O 垂直分隔显示

Linux Shell编程之二选择结构

Shell编程学习之二 一.bash的条件测试 测试方法或者说测试书写: test EXPR [ EXPR ] [[ EXPR ]] 例如:测试变量 User_Name 的之是否为root test $User_Name="root" [ $User_Name == "root" ] [[ $User_Name == "root" ] 根据比较时操作数的类型,测试类型分为: 测试类型 运算符 运算符所代表的意义 示例 整形测试 -gt -lt -

Linux Shell 编程实战技巧

目前,越来越多的企业应用会部署在 Linux 系统上的,而 Linux Shell 脚本可以极大地帮助我们完成这些应用的运维任务.这使得 Linux Shell 开发技能成为开发人员的一项重要的.有竞争力的技能.本文就笔者的实际开发经验,以 Korn Shell 为例分享了脚本开发中的常见问题及相关技巧. 避免定时任务脚本的常见问题 很多脚本在实际使用的时候往往是以定时任务的方式运行,而非手工运行.但是实现同样功能的脚本在这两种运行方式下可能遇到的问题不尽相同. 以定时任务方式运行的脚本往往会遇

Linux Shell编程之五字符串的处理

shell编程之字符串处理 在 shell 中,由于是一种弱类型的语言,在没有事先申明变量类型的情况下,所有的变量都是字符串.所以对字符串的处理就显得相当重要了. 下面介绍常见的对字符串处理的操作. 一.字符串切片 ${string_var:offest:length},类似于数组元素的提取. # 这里的string_var是一个变量,offest 是字符串的开始偏移量,length是切去字符串的长度 var=dhcpd:x:177:177:DHCP server:/:/sbin/nologin

关于linux shell编程,alias rm=&#39;cp [email&#160;protected] ~/backup; rm [email&#160;protected]&#39;

书上的这个例子需要在ubuntu的低版本的系统才支持,现在基本上都不支持了,想实现也很简单自己写一个脚本先备份再删除. alias也只是做了一次替换alias rm='cp [email protected] ~/backup; rm [email protected]' rm text.txt被转换成了cp  [email protected] ~/backup; rm [email protected] text.txt即cp  ~/backup; rm  text.txt可以看到text.

shell编程之服务脚本编写,文件锁以及信号捕获

shell脚本编程是linux运维工程师必备的技能,也是非常重要的一个技能,所以把shell编程学好,只有好处.基础语法我也就不讲了,学过C语言这些语言的,稍微看一下就能明白shell编程的基础,所以我们直接切入正题. 开班第20天: 今天的课程大纲: shell编程中的函数 编写一个自动挂载的脚本 利用autofs怎么实现自动挂载 文件锁和信号捕获trap sed流文件编辑器 详细讲解: shell编程中的函数 shell中,我们定义函数的方法有两种: 下面调用的时候,直接调用函数名就可以了

京峰Linux Shell编程从入门到精通

课程介绍:Shell是系统的用户界面,提供了用户与内核进行交互操作的一种接口.它接收用户输入的命令并把它送入内核去执行. -------------------课程目录------------------- <Shell编程从入门到精通> ├1.linux下shell编程基础入门_(new).mp4├2.Shell编程之变量及LAMP导航菜单编写_(new).mp4├3.Shell编程之IF条件语句各种案例演练_(new).mp4├4.使用if条件语句编写MySQL备份脚本_(new).mp4