文档章节

shell基础语法

memristor
 memristor
发布于 2014/08/06 20:52
字数 391
阅读 64
收藏 2

if分支

#! /bin/bash

# take exercise "if"

x=6
if [ $x = 5 ];then  
	echo "x equals 5"
elif [ $x = 6 ];then
	echo "x equals 6"
else  
	echo "x does not equal 5"
fi

判断一个输入是奇数还是偶数,并对输入进行验证

#! /bin/bash

#check your input is negative or positive and check it is even or odd

while :
do

	echo -n "please input a number:  "
	read x

	if [[ "$x" =~ ^-?[0-9]+$ ]]; then  #使用正则表达式验证输入x是否有效
		echo "input checked..."	
	else
		echo "your input is wrong!!">&2
		exit 1
	fi

	echo "the number you input is $x"
	if [ -z "$x" ]; then  #验证x是否为空
		echo "nothing is input!!">&2
		exit 1
	fi
	
	if [ $x -eq 0 ]; then
		echo "your input is 0!"
	else
		if [ $x -lt 0 ]; then
			echo "your input is negative!"
		else
			echo "your input is positive!"
		fi
		if [ $((x%2)) -eq 0 ]; then  
			echo "your input is even"
		else
			echo "your input is odd"		
		fi
	fi

done

报告计算机的设备使用情况

#! /bin/bash

#program to output a system information page

TITLE="system information report"  #定义常量
CURRENT_TIME=$(date)  #调用date命令,并赋给CURRENT_TIME
TIME_STAMP="Generated at $CURRENT_TIME , By $USER"

report_uptime(){ #函数定义,如果在函数内定义局部变量的话可以使用local关键字
	cat<<- _EOF_  #表明从_EOF_到下一个_EOF_都将使用cat命令进行输出,这样就可以省略每行都写的echo
		<h2>System uptime</h2>
		<pre>$(uptime)</pre> #调用uptime命令
		_EOF_
	return
}

report_disk_space(){
	cat<<- _EOF_
		<h2>disk Space Utilization and use station</h2>
		<pre>$(df -h)</pre>
		_EOF_
	return
}

report_home_space(){
	cat<<- _EOF_
		<h2>Home Space Utilization and use station</h2>
		<pre>$(du -sh)</pre>
		_EOF_
	return
}


cat <<_EOF_
<HTML> 
	<HEAD> 
		<TITLE>$TITLE</TITLE> 
	</HEAD> 
	<BODY> 
		<h1>$TITLE</h1>
		<p>$TIME_STAMP</p>
		$(report_uptime)
		$(report_disk_space)
		$(report_home_space)
	</BODY> 
	</HTML>
_EOF_

然后可以通过firfox进行调用

sysinfo>sysinfo.html

firefox sysinfo.html

© 著作权归作者所有

上一篇: ibatis
下一篇: linux常用命令
memristor
粉丝 45
博文 203
码字总数 176319
作品 0
长沙
程序员
私信 提问
面试linux运维一定会问到Shell脚本这24个问题

虽然现在Python在运维工作中已经使用很普遍,但是很多企业在找Linux云计算工程师的时候还是会问到 shell 脚本的问题,它有助于你在工作环境中自动完成很多任务。 如下是一些面试过程中,经常...

tom_tuwei
2017/12/23
0
0
详细介绍Linux shell脚本基础学习(一)

Linux shell脚本基础学习这里我们先来第一讲,介绍shell的语法基础,开头、注释、变量和 环境变量,向大家做一个基础的介绍,虽然不涉及具体东西,但是打好基础是以后学习轻松地前提。 1. L...

魏邪乎
2014/02/13
32
0
Shell编程基础 shell的结构、执行及变量

12月27日任务 20.1 shell脚本介绍 20.2 shell脚本结构和执行 20.3 date命令用法 20.4 shell脚本中的变量 shell脚本介绍 shell是一种脚本语言,是一名运维工程师所必需掌握的最基本的能力。通...

robertt15
2018/12/27
42
0
linux shell基础-1

shell history Tab键 alias 通配符 重定向功能 shell history 作用:bash内建命令,管理命令历史 语法: 参数: "!"的用法: 配置文件: 历史命令快捷键 Tab键 作用: 使用方法: 实例: al...

arvinlinux
2017/07/02
0
0
Linux Shell脚本语法扫盲 及 Jenkins通过shell构建个人思路

前言 本篇文章 承接我的上一篇文章 通过jenkins持续集成 github中的代码到服务器 在上一篇文章中我们已经安装好了Jenkins,并且为其注入了灵(dai)魂(ma)。当我们使用git进行push操作的时...

卡杰
2018/05/24
0
0

没有更多内容

加载失败,请刷新页面

加载更多

查看线上日志常用命令

cat 命令(文本输出命令) 通常查找出错误日志 cat error.log | grep 'nick' , 这时候我们要输出当前这个日志的前后几行: 显示file文件里匹配nick那行以及上下5行 cat error.log | grep -C ...

xiaolyuh
32分钟前
5
0
六、Java设计模式之工厂方法

工厂方法定义: 定义一个创建对象的接口,但让实现这个接口的类来决定实例化哪个类,工厂方法让类的实例化推迟到子类中进行 类型:创建型 工厂方法-使用场景: 创建对象需要大量重复的代码 ...

东风破2019
38分钟前
5
0
win服务器管理遇到的一系列问题记录

有些小伙伴在使用iis7远程桌面管理工具的时候总是会遇到一系列的问题,下面就是为大家介绍一下服务器日常管理过程中出现的问题及我的解决办法和心得。希望能帮到大家。   拒绝服务器重新启...

1717197346
46分钟前
6
0
flutter 剪切板 复制粘贴

复制粘贴功能 import 'package:flutter/services.dart'; Clipboard.setData(ClipboardData(text:_text));Clipboard.getData;...

zdglf
48分钟前
4
0
如何保证消息的可靠性传输?或者说,如何处理消息丢失的问题?

面试题 如何保证消息的可靠性传输?或者说,如何处理消息丢失的问题? 面试官心理分析 这个是肯定的,用 MQ 有个基本原则,就是数据不能多一条,也不能少一条,不能多,就是前面说的重复消费...

米兜
49分钟前
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部