2014-12-7

Linux逻辑关系

1、bash中如何实现条件判断?

在bash中条件测试类型有以下几种

整数测试、字符测试、文件测试

条件测试表达式:

[ expression ]

[[ expression ]]

2、整数比较:

-eq: 测试两个整数是否相等;比如 $A -eq $B

-ne: 测试两个整数是否不等;不等,为真;相等,为假;

-gt: 测试一个数是否大于另一个数;大于,为真;否则,为假;

-lt: 测试一个数是否小于另一个数;小于,为真;否则,为假;

-ge: 大于或等于

-le:小于或等于

3、命令的时间逻辑关系:

逻辑与:&&

第一个条件为假时,第二条件不用再判断,最终结果已经有;

第一个条件为真时,第二条件必须得判断;

逻辑或: ||

例1:

创建一个用户user1,如果存在就输出,不存在不返回

id user1 &> /dev/null && echo "hello.student"

例2:

如果用户不存在,就添加用户

!mid user1 && usreadd user1

或者id user1 || adduser user1

例3:

如果/etc/inittab文件行数大于100,就显示 大文件

[ `wc -l /etc/inittab | cut -d‘ ‘ -f1` -gt 100 ] && echo "Large file"

如果用户存在,显示存在,否则添加

! id user1 && echo "user exist" || useradd user1

用户不存在,添加并且给以密码,否则,显示 存在

! id user1 && useradd user1 &> /dev/null &&eccho "user1"| passwd --stdin user1 &> /dve/null | echo "users exist"

例4:

根据以下要求写一个脚本:

添加3表用户,但是需先判断用户是否存在,不存在就添加,添加后,显示一共添加了多少几个用户,不包括以前存在的,最后显示当前系统上共有多少系统

#!/bin/bash

! id user1 && useradd user1 &> /dve/null && echo "user1" | passwd --stdin user1 &> /dev/null

! id user2 && useradd user2 &> /dve/null && echo "user2" | passwd --stdin user1 &> /dev/null

! id user31 && useradd user3 &> /dve/null && echo "user3" | passwd --stdin user1 &> /dev/null

USER=`wc -l /etc/passwd | cut -d: -f1`

echo "$USERS users"

给一个用户,如果UID为0,显示admin 否则为 common

#!/bin/bash

NAME=user

USERID=`id -u $NAME`

[ $NAME -eq 0 ] && echo "admin" || echo "common"

4、条件判断:控制结构

单分支if语句

if 判断条件; then

statement1

statement2

...

fi

双分支if语句

if 判断条件;then

statement1

statement2

...

else

statement3

statement4

...

fi

据此改写上面关于UID的脚本:

#!/bin/bash

NAME=usr1

USERID=`id -u $NAME`

if [ $USERID -eq 0 ] ;then

echo "admin"

else

echo "common user."

fi

因为$USERID只引用了1次,所以$USERID可这样

NAME=user1

if [ `id -u $NAME` -eq 0 ];then

echo "admin"

else

echo "common user."

fi

时间: 2024-02-20 19:31:59

2014-12-7的相关文章

易轩网络更新页面————————2014.12.13发布

易轩网络更新页面: 最新更新动态: ★易轩★改软件标题工具—)—)豪华版              出炉! 工具大小:52.0 MB(若大于该大小则视为病毒文件处理) 工具功能:更改你想要更改软件的标题(则运行时的名称) 工具版本:v1.0.0.0 工具是否达标:是 工具是否报毒:暂未测试(若大小一致却依然报毒,请添加信任或关闭杀毒软件) 工具下载地址:http://yunpan.cn/cfxEAPKpPxzfg  提取码 ba30 工具作者:易轩 联系方式:邮箱:[email protecte

【ACOUG】2014.12.27ACOUG年会

祝贺ACOUG~2015 越来越好   刚刚过完2014年圣诞节,就迎来了ACOUG的最后一场沙龙,也作为ACOUG的本年度年会,老朋友相聚大家特别开心,下面来看看当时的场景ACOUG开始啦 ACOUG VP 仇实 me 斑点狗 老盖在演讲ing 老盖and me 乐奕and me 圣诞树很漂亮 Leonarding2014.12.27北京&winter分享技术~成就梦想Blog:www.leonarding.com

写在2014.12.31想说的话

时光总是匆匆,不管你愿不愿意,2014就在今天向我们挥手告别,又到了该写年终总结的时候,这一年是收获的一年,是纠结的一年,也是值得纪念的一年,岁月给我们带来的并不是年龄的增长,更多的是心态的成熟和变化.生活有时会逼迫你,不得不放走机遇,甚至不得不抛弃爱情,不要把别人对自己的放弃,变成自己对自己的放弃,人生的日子都是越过越少,剩下的日子越来越重要,所谓顺其自然,并非代表我们可以不努力,而是努力之后我们有勇气接受成败. 关于工作,这一年似乎敲的代码越来越少,也开始厌烦无聊的重复,一直在寻找一种能够在

LAMP开发之环境搭建(2014.12.7在ubuntu下)

Ubuntu下搭建LAMP环境 前言:学习PHP脚本编程语言之前,必须先搭建并熟悉开发环境,开发环境有很多种,例如LAMP.WAMP.MAMP等.这里我搭建的是LAMP环境,即Linux.Apache.MySQL.PHP环境.网上搭建方法也有很多,但都不是最新的,本搭建时间为2014.12.07. 一.搭建环境 Lenovo Y470 VMWare9.0 Ubuntu 14.04.1 LTS (Trusty Tahr):ubuntu-14.04.1-desktop-i386.iso二.安装软件1

【谜客帝国】第九届老爱原创谜会(2014.12.30)

谜客帝国第九届老爱原创谜会(2014.12.30)主持:瓷       计分:晶莹1.现有十人达标准(字)规.注:双扣2.乱呈能,别下毒(11笔字)理3.难得知错又开口(汉人)吕雉4.高校新生载入校(3字年纪比较词)大一岁5.这些问题都不懂(即物赠)几盘咸菜6.太太在聚餐(3字点心)老婆饼7.独活(期货术语•秋千格)做单8.打的付款,节省消费(即赠物)十二支鲜花9.对林散之有安排(2字植物)桉树10.这图可更新(象声词)叮咚11.“苍天骑士”拍马屁(3字外神话人物•上楼格)阿修罗.注:神官“苍天

2014.12.20 学习总结

2014年12月20日下午 一.进制转换 计算机基础进制:二进制.十进制.八进制.十六进制. (一)二进制→十进制 1.展权相加 步骤:第一步:写“2”. 第二步:标指数,从右向左从0开始依次标记. 第三步:乘系数,一一对应. 第四步:相加. 例:二级制数:11010转十进制. 11010 第一步 2    2    2    2    2 第二步 24    23    22    21    20 第三步 24*1  23*1  22*0  21*1  20*0 第四步 24*1+23*1+

公有云:美酒or毒药?--【软件和信息服务】2014.12

几大国际巨头争相布局,公有云市场变幻莫测,而无论这块市场是美酒还是毒药,他们都在翘首期盼. 随着"双11"的胜利落幕,关于公有云的争论又甚嚣尘上,好像"得公有云者得天下",今天还没有跳入公有云的IT厂商好像都是"痴汉".到底公有云的真实机会在哪里?公有云到底是美酒还是毒药? 自从几大公有云巨头开始布局中国市场,包括亚马逊.微软.阿里巴巴.VMware.IBM,大家似乎就觉得中国公有云看到曙光了.其实,公有云市场远比大家看到的巨头抢滩来得复杂,因为

2014 12

微博:@晓东日语 2014 年 12 月 N1 真题 1.問題1 の言葉の読み方として最もよいものを.1?2?3?4から一つ選びなさい. これから概略をご説明します. ? がいかく ? きかく ? がいりゃく ? きりゃく 2.面接には.しっかりと準備をして臨みたいと思う. ? からみたい ? いどみたい ? はげみたい ? のぞみたい 3.昨日.督促の電話がかかってきた. ? さいそく ? とくそく ? さいぞく ? とくぞく 4.春になり.辺りには花の香りが漂いはじめた. ? さまよい ?

请叫我雷锋———Android应用开发相关下载资源(2014/12/28更新)

Android应用开发相关下载资源 官方终于发布了Android Studio正式版,Android Studio将会成为推荐使用的主要Android开发工具. (1)Android SDK (Android SDK主安装包,包含SDK Manager.AVD Manager.工具包tools,释放后的根文件夹为android-sdk-windows): revision 23.0.2 http://dl.google.com/android/android-sdk_r23.0.2-window

2014.12.01 B/S 使用VS建立Web网站

要求:从hr数据库info表读取数据,在Web网站中显示为如图: 用DW绘制一个表格,然后将代码拷贝到新建的网站主页代码中 1 <div> 2 3 <table bgcolor="black" border="0" cellpadding="5" cellspacing="1" width="100%"> 4 <tr> 5 <td align="cente