shell脚本常用方法总结
shell脚本给字符串添加颜色
字颜色:
echo -e "\033[30m 黑色字 \033[0m"
echo -e "\033[31m 红色字 \033[0m"
echo -e "\033[32m 绿色字 \033[0m"
echo -e "\033[33m 黄色字 \033[0m"
echo -e "\033[34m 蓝色字 \033[0m"
echo -e "\033[35m 紫色字 \033[0m"
echo -e "\033[36m 天蓝字 \033[0m"
echo -e "\033[37m 白色字 \033[0m"
字背景颜色:
echo -e "\033[40;37m 黑底白字 \033[0m"
echo -e "\033[41;37m 红底白字 \033[0m"
echo -e "\033[42;37m 绿底白字 \033[0m"
echo -e "\033[43;37m 黄底白字 \033[0m"
echo -e "\033[44;37m 蓝底白字 \033[0m"
echo -e "\033[45;37m 紫底白字 \033[0m"
echo -e "\033[46;37m 天蓝底白字 \033[0m"
echo -e "\033[47;30m 白底黑字 \033[0m"
字体变为红色并且不停的闪烁:
echo -e "\033[31m \033[05m 北京欢迎你 \033[0m"
shell脚本判断执行用户
#!/bin/bash
if [ `whoami` == "root" ];then
echo "是root用户执行"
fi
shell curl只返回HTTP状态码
curl -I -m 10 -o /dev/null -s -w %{http_code} www.baidu.com
-I 只返回响应头
-m 允许传输的最长时间
-s 静默模式,不输出任何东西
-w %{http_code} 完成后输出状态码
-o 输出到文件
shell脚本中的一些特殊变量
$$ shell本身的PID
$! shell最后运行的后台Process的PID
$? 可以获取上一个命令的退出状态
$# 打印传入shell的参数个数
$0 shell本身的文件名
$1~$n 添加到Shell的各参数值。$1是第1参数、$2是第2参数
$@和$*的区别
$@和$*都有打印传入shell的所有变量的意思;当$@和$*不被""双引号包含时,都以"1" "2" "3"的形式输出所有参数;
举个例子说明被""双引号包含时的状态:
[root@jump ~]# cat aaa.sh
#!/bin/bash
fun() {
echo "$#"
} echo '"$@" 的参数为' $@
echo '"$*" 的参数为' $*
echo '"$@" 的参数个数 '$(fun "$@") "个"
echo '"$*" 的参数个数' $(fun "$*") "个"
执行结果:
[root@jump ~]# bash aaa.sh 1 2 3
"$@" 的参数为 1 2 3
"$*" 的参数为 1 2 3
"$@" 的参数个数 3 个
"$*" 的参数个数 1 个
结论:
当aaa脚本运行后,$@的参数为"1" "2" "3";$*的参数为"1 2 3";所以$@的参数数量为3个;$*的参数数量为1个;
shell脚本中的比较
-eq 等于
-ne 不等于
-gt 左边大于右边
-lt 左边小于右边
-ge 左边大于等于右边
-le 左边小于等于右边
shell的逻辑与或非
逻辑与 "-a"
if [command1 -a command2] 两个条件都要满足
逻辑或 "-o"
if [command1 -o command2] 两个条件只要满足1个即可
逻辑非 "!"
if [! command] 条件表达式的相反结果 ###第二种方式###
&&运算符
command1 && command2 command1执行结果为真,则command2才能够被执行;只要有一个命令的执行结果为假,则后面的命令就不会被执行;实现逻辑与的功能;
||运算符
command1 || command2 command1执行结果为假,则执行command2;实现逻辑或的功能;
shell脚本常用方法总结的更多相关文章
- 系统管理中 bash shell 脚本常用方法总结
在日常系统管理工作中,需要编写脚本来完成特定的功能,编写shell脚本是一个基本功了!在编写的过程中,掌握一些常用的技巧和语法就可以完成大部分功能了,也就是2/8原则 1. 单引号和双引号的区别 单引 ...
- 《Linux命令行与shell脚本编程大全》 第二十三章 学习笔记
第二十三章:使用数据库 MySQL数据库 MySQL客户端界面 mysql命令行参数 参数 描述 -A 禁用自动重新生成哈希表 -b 禁用 出错后的beep声 -B 不使用历史文件 -C 压缩客户端和 ...
- shell脚本实例-系统监控
shell脚本监控网站并实现邮件.短信报警shell进程监控脚本(发送邮件报警)Shell脚本监控服务器在线状态和邮件报警的方法 http://www.jbxue.com/jb/shell/ 11. ...
- shell脚本编写笔记
包含转载内容,转载自http://wenku.baidu.com/link?url=jtCHxEYzgGve6P64U3JRQRgU6nhpGvqFLLpWu9I2Htq6hi9TGLudRFkk7r ...
- 第一个shell脚本
打开文本编辑器,新建一个文件,扩展名为sh(sh代表shell),扩展名并不影响脚本执行,见名知意就好. #!/bin/bash echo "Hello World !" &quo ...
- 使用C#给Linux写Shell脚本
在这个逼格决定人格,鄙视链盛行的年头,尤其是咱们IT界,请问您今天鄙视与被鄙视的次数分别是多少?如果手中没有一点压箱的本事,那就只有看的份了.今天我们也要提升下自己的格调,学习些脑洞大开的东西,学完之 ...
- shell脚本规划化模板
shell脚本规划化模板 Linux运维过程中,shell脚本是不可缺少的工具,但是每个运维人员编程的习惯都不一样,很多时候就是实现某个功能,写出来的脚本都是烂七八糟的.脚本必须规范化,应该从以后几个 ...
- Shell脚本编程30分钟入门
Shell脚本编程30分钟入门 转载地址: Shell脚本编程30分钟入门 什么是Shell脚本 示例 看个例子吧: #!/bin/sh cd ~ mkdir shell_tut cd shell_t ...
- Linux Shell脚本逻辑操作符简介
在写程序时,会用到条件判断,测试条件是否成立.很多时候,判断条件是多个的,这个时候需要用到逻辑操作符.shell脚本中常用的有哪些逻辑操作符呢? 1.逻辑与: -a 格式: conditon1 -a ...
随机推荐
- IDEA快捷生成循环♻️
itar 生成array for代码块 //itar for (int i = 0; i < array.length; i++) { = array[i]; } itco 生成Collecti ...
- Pandas 分组聚合 :分组、分组对象操作
1.概述 1.1 group语法 df.groupby(self, by=None, axis=0, level=None, as_index: bool=True, sort: bool=True, ...
- 第06组 Alpha冲刺 (2/6)
目录 1.1 基本情况 1.2 冲刺概况汇报 1.郝雷明 2. 方梓涵 3. 黄少丹 4. 董翔云 5.曾丽莉 6. 詹鑫冰 7.鲍凌函 8.杜筱 9.曹兰英 10. 吴沅静 1.3 冲刺成果展示 1 ...
- MTK 虚拟 sensor bring up (pick up) sensor2.0
pick up bring up sensor2.0 1.SCP侧的配置 (1) 放置驱动pickup.c (2) 添加底层驱动文件编译开关 (3) 加入编译文件 (4) 增加数据上报方式 (5)修改 ...
- 30款提升组织效能 SaaS 工具,我们的宝藏工具箱大公开
熟悉 Juicedata 的小伙伴知道,从2017年成立到第一款产品发布.从寻找PMF(Product Market Fit) 到开源,我们一直保持着一个精简的团队配置,不少人都很好奇我们是如何做到的 ...
- 如何使用Superset可无缝对接MRS进行自助分析
摘要:本文主要介绍如何在MRS之上使用Superset进行数据分析. 本文分享自华为云社区<使用商业智能软件Superset分析MRS数据之最佳实践>,作者: 啊喔YeYe . 1. 概要 ...
- Gitee整改之思考
本文主要内容如下: 1.Gitee是什么? 2.Gitee与Github的区别有哪些? 3.为什么要使用Gitee? 4.Gitee的商业模式是怎样的? 5.Gitee为何会被整改? 6.Gitee这 ...
- 陈宏智:字节跳动自研万亿级图数据库ByteGraph及其应用与挑战
导读: 作为一种基础的数据结构,图数据的应用场景无处不在,如社交.风控.搜广推.生物信息学中的蛋白质分析等.如何高效地对海量的图数据进行存储.查询.计算及分析,是当前业界热门的方向.本文将介绍字节跳动 ...
- React与Koa一起打造一个功能丰富的全栈个人博客(业务篇)
前言 豆哥的个人博客又改版了,本版主要技术栈是前台用的React,后台用的Koa.博客改版的初衷是自己可以练练React(公司的项目部分要用React,我也没法啊,再说早晚得学).本文主要介绍博客的业 ...
- python基础知识-day8(模块与包、random、os)
1.模块与包 package:相同的模块代码存储在一个目录下(即包里边会包含多个模块). 包不能存储在文件夹的目录下,模块名称不能使用关键字.(不包含工程文件夹) 2.模块与包的实例 1)在工程文 ...