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 ...
随机推荐
- 前端HTML-01
HTML是什么? 超文本标记语言,是一种用于创建网页的标记语言 文件的扩展名:.html或者.htm HTML不是什么? HTML是一种标记语言,不是变成语言. HTML文档结构 <!DOCTY ...
- python操作MySQL,SQL注入的问题,SQL语句补充,视图触发器存储过程,事务,流程控制,函数
python操作MySQL 使用过程: 引用API模块 获取与数据库的连接 执行sql语句与存储过程 关闭数据库连接 由于能操作MySQL的模块是第三方模块,我们需要pip安装. pip3 insta ...
- 国产开源优秀新一代MPP数据库StarRocks入门之旅-数仓新利器(上)
概述 背景 Apache Doris官方地址 https://doris.apache.org/ Apache Doris GitHub源码地址 https://github.com/apache/i ...
- redis 基础1
1.redis是什么? redis是非关系型数据库key-value数据库,开源免费.是当下NoSQL技术之一 2.redis能干吗? (1)内存存储,可以持久化,redis存储在内存中,内存的话是断 ...
- IX交换中心网络架构分析
拓扑如上 IX功能介绍 IX交换中心,客户接入交换中心只收取端口费用,在交换中心网内的流量不收取任何费用,一个交换中心是否值得接入主要看该ix所接入的用户 假如客户A是做视频网站,用的视频源是IQY的 ...
- 一起看 I/O | Flutter 休闲游戏工具包发布
作者 / Zoey Fan, Product Manager for Flutter, Google 对于大多数开发者来说,Flutter 是一个应用框架.但利用 Flutter 提供的硬件加速图形支 ...
- AOSP查看当前要打进系统里的都有哪些包
发现问题: 修改系统时常常需要预置APK,这就要修改PRODUCT_PACKAGES这个变量,那么如何查看这个数组的值呢?我们可能直接在mk文件中去打印它,后来发现打印它只会显示继承关系(即继承自了哪 ...
- forms组件补充与ModelForm简单使用与cookie与session
目录 forms组件钩子函数 forms组件字段参数 字段参数 validators详解 choices详解 widget详解 forms组件字段类型 ModelForm简单使用 cookie与ses ...
- 树莓派使用Docker部署EdgeX(jakarta版本)
使用Docker部署EdgeX 老师安排我搞边缘计算,搞了很久都没能明白边缘计算是什么,甚至对其兴趣不大,前一阵弄好了lorawan网关,该做网关内部的边缘计算了,发现自己已经慢慢地学了进去,总是想要 ...
- 前端5jQuery
内容概要 jQuery简介 查找标签 jQuery操作标签 jQuery事件操作 jQuery动画效果(了解) 前端第三方框架(基础) 内容详情 jQuery简介