一.脚本,判读当前系统是否有用户默认的shell,为bash.如果有就显示这类用户的个数,否则没有就显示“没有这类用户”。

vim bash.sh

#!/bin/bash

grep "\<bash$" /etc/passwd &> /dev/null   #单词+$为行尾锚定,只要是bash结尾的行显示。

$>错误、正确输出都装进黑洞

比较

REVEL=`grep "\<bash$" /etc/passwd &> /dev/null`    #此为执行结果,而不是状态结果

RETVAL=$?                                #&?为上一句命令的执行状态返回值

本题脚本:

grep "bash$" /etc/passwd &> /dev/null

RETVAL=$?

if [ $RETVAL -eq 0 ];then

N1=`grep "bash$" /etc/passwd | wc -l`

echo "bash user is $N1";

else

echo "Do not have bash users!"

fi

二.脚本,判读当前系统是否有用户默认的shell,为bash.如果有就显示这类用户的其中一个,否则没有就显示“没有这类用户”。

修改这段代码,可完成:

N1 =`grep "bash$" /etc/passwd |head -1 | cut -d ":" -f1`    #cut -d "分隔符" -f1:取第几个字段

转载于:https://blog.51cto.com/lingsan/1424766

bash脚本编程之一 条件判断及算术运算相关推荐

  1. bash脚本编程之条件判断、条件测试

    脚本编程: 编程面向过程有如下几种执行方式 顺序执行 选择执行:  如 if, case 循环执行:  如 for, while, until bash的变量类型: 本地变量 set VAR_NAME ...

  2. bash 脚本编程2 条件判断 (笔记)

    条件判断类型: 整数测试 字符测试 文件测试 条件表达式: [ exppression ] ` expression ` test expression 注意一定要加空格前后都要加 整数比较:  -e ...

  3. Bash脚本教程之条件判断

    目录 if 结构 test 命令 判断表达式 文件判断 字符串判断 整数判断 正则判断 test 判断的逻辑运算

  4. Bash脚本编程之算术运算

    简介 Bash所支持的算术运算和C语言是一样的,这里指的是操作符(operator)以及它们的优先级(precedence).结合性(associativity)和值,详见Shell Arithmet ...

  5. linux bash脚本编程知识点

    bash变量类型: 环境变量 本地变量(局部变量) 位置变量 特殊变量 本地变量: set VARNAME=VALUE: 作用域为整个bash进程: 引用变量 $(varname) 局部变量: loc ...

  6. 高级Bash脚本编程指南《Advanced Bash-Scripting Guide》 in Chinese

    <Advanced Bash-Scripting Guide> in Chinese <高级Bash脚本编程指南>Revision 10中文版 在线阅读链接:http://ww ...

  7. bash脚本编程入门_Bash编程入门

    bash脚本编程入门 对Unix的最初希望之一是,它将使日常的计算机用户能够微调其计算机以适应其独特的工作风格. 在过去的几十年中,对计算机定制的期望已经降低,许多用户将他们收集的应用程序和网站视为他 ...

  8. linux的逻辑运算参数,Linux基础之bash脚本编程初级-逻辑运算与测试

    引言 前面介绍了bash编程的基础变量与算术表达式,本文介绍在脚本中的进阶知识:测试 在bash中测试大体分两部分:条件测试.组合测试. 而条件测试又分:数值测试.字符串测试.文件测试. 组合测试则有 ...

  9. Linux之bash脚本编程---选择执行

    编程风格 过程式编程,目的解决问题 指令组织数据,指令的堆砌 为了完成复杂的任务 顺序执行:遍历的方式执行,逐个运行 选择执行:有一种选择标准,结果只能有一种选择,只执行某些 代码片段 循环执行:对一 ...

最新文章

  1. bootstrap_fileinput上传文件 后台接受额外的参数
  2. 交互设计中的c和php,c/s是一种重要的网络计算机模式,其含义是什么
  3. python写入csv(解决了乱码问题)
  4. 8.VMware View 4.6安装与部署-connection server(View Transfer Server)
  5. c++ 使用vs2010调用 win32api
  6. iOS 编写高质量Objective-C代码(六)
  7. 简单参数让谷歌Chrome浏览器单进程运行
  8. 【今日CV 视觉论文速览】 7 Feb 2019
  9. centos 7 菜鸟第一天 装软件
  10. Apache服务器+tomcat配置
  11. AttributeError: module 'labelme.utils' has no attribute 'draw_label'
  12. 九度OJ 1193:矩阵转置 (矩阵计算)
  13. SQL Server 查询数据库中被锁定的表
  14. android 3dtouch插件,iOS-3DTouch的简单实现
  15. goole服务框架Android ID,GSF ID KEY(谷歌服務框架ID)作爲Android設備唯一標識符
  16. 新建android模拟器无法拨号 真机可以拨号,Android模拟器相关操作设置
  17. 公网IP和内网IP如何分辨?
  18. osg显示CEGUI界面
  19. 【人工智能】机器学习:岭回归与LASSO回归(Ridge/LASSO Regression)
  20. IEEE latex 模板 部分文字变色 (变蓝,变成浅蓝色)暂时的解决方案

热门文章

  1. ITK:通过镜像填充图像
  2. VTK:可视化之Follower
  3. VTK:Points之RadiusOutlierRemoval
  4. VTK:图片之RTAnalyticSource
  5. OpenCV LATCH Matching描述符匹配算法的实例(附完整代码)
  6. OpenCV背景减法Background Subtraction Methods
  7. Qt Quick的国际化和本地化
  8. ListModel QML类型
  9. Qt Creator设置Meson
  10. C语言在二进制搜索树中查找键的successor and predecessor后继和前任(附完整源码)