
Shell
Fe_cow丿
头发是比青春更容易流失的东西,不要等失去了才想着去珍惜!
展开
-
shell 脚本控制与计划任务
shell 脚本控制与计划任务一、脚本优先级控制可以使用nice和renice调整脚本优先级避免出现不可控的死循环死循环导致CPU占用过高死循环导致死机fork炸弹:.(){.|.&};.二、捕捉信号捕获信号脚本的编写kill 默认会发送15号信号给应用程序ctrl + c 发送2号信号给应用程序9号信号不可阻塞# 信号脚本#!/bin/bash# 捕获15号信号trap "echo sig 15" 15# 捕获2号信号trap "echo sig原创 2021-01-02 21:19:50 · 839 阅读 · 0 评论 -
shell 函数的使用
shell 函数的使用自定义函数1.函数的使用:函数用于包含重复使用的命令集合。自定义函数语法:function fname( ) { 命令}函数的执行fname举个栗子:# 定义一个 cdls 函数[root@iZbp1e44zna0rzyna76eszZ lvhuiqi]# function cdls(){> cd /home/lvhuiqi/> ls> }# 执行cdls函数[root@iZbp1e44zna0rzyna76eszZ lvh原创 2021-01-02 17:08:48 · 511 阅读 · 1 评论 -
shell for与while循环
shell for与while循环一、使用for循环遍历命令的执行结果for 循环的语法:for 参数 in 列表do 执行的命令done 封闭一个循环# 循环遍历列表中0~9数字[root@iZbp1e44zna0rzyna76eszZ lvhuiqi]# for i in {0..9}; do echo "hello"; echo $i ; donehello0hello1hello2hello3hello4hello5hello6hello7hell原创 2021-01-02 15:44:41 · 462 阅读 · 0 评论 -
shell case语句的使用
shell case语句的使用case语句和select语句可以构成分支。case “$变量” in“情况1”)命令… ;;“情况2”)命令… ;;*)命令… ;;esac举个栗子:实现输入一个参数,进行匹配并打印#! /bin/bash# $1表示接收一个输入参数 case "$1" in # 如果输入start或者START,走这个分支 "start"|"START") echo $0 st原创 2021-01-02 12:22:22 · 911 阅读 · 0 评论 -
shell 使用if-elif-else语句
shell 使用if-elif-else语句一、使用if-then-else语句:If-then-else 语句可以在条件不成立时也运行相应的命令if [ 测试条件成立 ]then 执行相应命令else 测试条件不成立,执行相应命令fi 结束举个栗子,判断当前用户是root角色还是其它角色:#! /bin/bashif [ $USER = root ] ;then echo "root" echo $UIDelse echo "user" echo $UIDfi# 运原创 2021-01-02 11:47:49 · 11079 阅读 · 1 评论 -
shell 运算符
shell 运算符一、赋值运算符:赋值运算符**=,用于算数赋值和字符串赋值**默认认为是字符串[root@iZbp1e44zna0rzyna76eszZ lvhuiqi]# a=3+3[root@iZbp1e44zna0rzyna76eszZ lvhuiqi]# echo $a3+3使用unset取消变量的赋值=(等号)除了作为赋值运算符还可以作为测试操作符二、算数运算符:基本运算符:+:加-:减*:乘/:除**:乘方%:取余数使用e原创 2021-01-02 09:51:17 · 313 阅读 · 0 评论 -
shell 转义和引用
shell脚本的转义和引用一、特殊字符:特殊字符:一个字符不仅有字面意义,还有本意。# 注释:运行调试、提高代码阅读;分号:分割命令,较短的命令可以使用分号进行连接\转义符号:"和'双引号和单引号:二、转义:1.单个字符前的转义符号:\n \r \t单个字母的转义:\$ \" \\单个非字母的转义:# 使用 /转义符号,将" 进行转义输出[root@iZbp1e44zna0rzyna76eszZ lvhuiqi]# echo " abc"x"def "原创 2021-01-02 01:12:48 · 881 阅读 · 0 评论 -
shell 数组的简单使用
shell 数组的简单使用一、定义数组:IPTS=( 16.0.0.1 16.0.0.2 16.0.0.3 ),使用()进行定义,里面的元素都需要空格进行分割。[root@iZbp1e44zna0rzyna76eszZ lvhuiqi]# IPTS=( 16.0.0.1 16.0.0.2 16.0.0.3 )注意:如果直接获取ITPS变量,只能获取数组中第一个值[root@iZbp1e44zna0rzyna76eszZ lvhuiqi]# echo $IPTS16.0.0.1二、显示数组所原创 2021-01-02 00:52:49 · 275 阅读 · 0 评论 -
shell 变量赋值的详细使用
Shell 变量赋值的详细使用一、变量的定义:变量名的命名规则:命名的名字要有意义字母、数字、下划线不以数字开头二、变量的赋值:变量赋值的过程,称为变量替换。1.变量名=变量值:a=123# 将123数字赋值给a变量[root@iZbp1e44zna0rzyna76eszZ lvhuiqi]# a=123[root@iZbp1e44zna0rzyna76eszZ lvhuiqi]# echo $a1232.使用let为变量赋值:let a=10+20# 使用l原创 2021-01-02 00:34:32 · 42769 阅读 · 2 评论 -
shell 管道与重定向
Shell 管道与重定向一、管道与管道符:管道概念:管道和信号一样,也是进程通信的方式之一。管道符概念:也叫做匿名管道,是shell编程经常用到的通信工具,管道符是 “|”,将前一个命令执行的结果传递给后面的命令:执行命令:[root@iZbp1e44zna0rzyna76eszZ nginx]# cat nginx.conf | more查看 cat nginx.conf 配置文件的命令执行结果,传递给 | 后面的 more 命令,进行分页查看 nginx.conf 文件二、原创 2021-01-01 22:35:17 · 556 阅读 · 1 评论 -
shell 脚本执行命令 source 与 bash 的区别
shell 脚本执行命令 source 与 bash 的区别执行命令:bash ./filename.sh./filename.sh (使用SHA BANG 脚本文件#!开头格式)以上命令是开启一个新子进程去执行sh脚本。source ./filename.sh.filename.sh以上命令是在当前进程来进行运行。举个栗子:创建新的shell脚本:# 使用vim命令添加shell脚本vim test.sh# 编写shell脚本#! /bin/bash原创 2021-01-01 12:27:07 · 3257 阅读 · 2 评论 -
Shell脚本入门
shell脚本入门#!/bin/sh,它同样也可以改为 #!/bin/bash。#! 告诉系统其后路径所指定的程序即是解释此脚本文件的 Shell 程序。运行第一个shell脚本:#!/bin/bashecho "Hello World !"#! 是一个约定的标记,它告诉系统这个脚本需要什么解释器来执行,即使用哪一种 Shell。echo 命令用于向窗口输出文本。注意:运行shell脚本时,需要将此文件变成可执行文件chmod +x ./test.sh #使脚本具有执行权限变量n原创 2020-08-19 09:26:17 · 310 阅读 · 1 评论