shell
文章平均质量分 75
shell学习
我是菜鸟131
生命不息,学习不止
展开
-
shell学习(变量)
shell变量shell变量分为四种:自定义变量、环境变量、位置变量、预定义变量自定义变量:用户本身自己定义的变量环境变量 例:USER SHELL(解释器) HOME PATH(命令存放路径)echo $PS1 一级提示符echo $PS2 二级提示符echo $UID 查看当前用户ID位置变量 $1,$2,$3…测试变量效果echo $1echo $2echo $3echo $$ #程序进程号echo $# #所有位置变量的数量echo $*原创 2021-06-26 16:23:14 · 2341 阅读 · 0 评论 -
shell学习(判断与循环)
if 条件判断if条件分为单分支,双分支和多分支if 单分支使用方法if [ 条件测试 ] ;then命令序列fi或者if [ 条件测试 ]then命令序列fi例:创建用户,输入空用户名退出,正常输入添加用户#! /bin/bashread -p “输入用户名” uif [ -z $u ] ;then echo " 无效输入 “ exitfiuseradd $uif双分支使用方法if [ 条件测试 ] ; then命令序列1esle命令序列2fi原创 2021-06-26 17:58:10 · 251 阅读 · 0 评论 -
shell学习(正则表达式)
正则表达式^ 匹配行首$ 匹配行尾[ ] 集合,匹配集合中的任意单个字符[^ ]取反. 匹配任意单个字符*匹配前一个字符的任意次数(不能单独使用)\{n,m\} # 匹配前一个字符n到m次\{n\} # 匹配前一个字符n次\{n,\} # 匹配前一个字符n次及以上\(\) #保留扩展正则列表(grep 使用扩展正则方法 grep -E || egrep )+ #最少匹配一次? #最多匹配一次{n,m} #匹配n到m次(原创 2021-06-27 23:23:04 · 261 阅读 · 0 评论 -
shell学习(sed工具)
sed (非交互修改文本,逐行操作 )增删改查使用方法1.前置命令 | sed 选项(定址符)指令2.sed | 选项(定址符)指令 文本sed -n #屏蔽默认输出 -r #支持扩展正则 -i #写入文件指令p #输出指定内容df | sed -n ‘1p’ #输出第一行df | sed -n ‘2p’ #输出第2行df | sed -n ‘1,2p’ #输出第1,2行创建测试文本[root@ha131 opt]# head -5 /etc/passwd >原创 2021-06-28 11:35:38 · 314 阅读 · 0 评论 -
shell学习(awk工具)
awk具有搜索功能awk -F 修改默认分隔符awk内置变量$1,$2,$0(本行所有)NF :一共多少列NR :一共多少行[root@ha131 opt]# awk ‘{print}’ txt //显示文本内容aaa b8sasd cccCCasd Y645 ZZZ[root@ha131 opt]# awk ‘{print $1}’ txt //$1为awk的内置变量,代表第一列aaaCCasd[root@ha131 opt]# awk ‘{print $1 $3}原创 2021-06-28 13:53:33 · 218 阅读 · 0 评论 -
shell数组
文章目录shell数组概述定义数组定义关联数组:查看数组数组的操作基本操作遍历数组数组基本案例shell数组概述 所谓数组,是指将具有相同类型的若干变量按照一定的顺序组织起来的一种数据类型。Shell语言对于数组的支持非常强大。在Shell中,用户可以通过多种方式来创建一个数组。定义数组方法一:用小括号将变量值括起来赋值给数组变量,每个变量之间要用空格进行分隔。array=(value1 value2 value3 ...)方法二:用小括号将变量值括起来,同时采用键值对的形式原创 2021-11-04 23:02:17 · 442 阅读 · 0 评论 -
shell学习(脚本实战)
书写脚本规则1.声明解释器#!/bin/bashbash优点: 历史记录,tab,管道,重定向,别名2. 注释3. 代码1.编写一个创建用户的脚本,输入用户名和密码,输入用户名为空,退出脚本#! /bin/bashread -p '请输入您要创建的用户名' a [ -z $a ] && echo "输入用户名为空" && exit //输入为空退出脚本 useradd $a &> /dev/null echo 用户$a创原创 2021-06-28 14:38:33 · 828 阅读 · 0 评论 -
shell练习题(1)
1、安装JDK及配置环境变量。mkdir /usr/jave #创建java目录tar -xf jdk-8u60-linux-x64.tar.gz -C /usr/javavim /etc/profile.d/java.sh#! /bin/bashexport JAVA_HOME=/usr/jave/jdk1.8.0_60/export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jarexport PATH=$PATH:$原创 2021-10-30 19:20:44 · 437 阅读 · 0 评论 -
shell练习题(2)
1、ping主机测试#! /bin/bashread -p "Enter test IP:" ipping -c2 -i 0.2 -W 1 $ip &> /dev/nullif [ $? -eq 0 ]; then echo "True"else echo "False"fi2、判断一个用户是否存在#! /bin/bashread -p "user name:" nameid $name &> /dev/nullif [ $原创 2021-10-30 21:57:38 · 555 阅读 · 0 评论 -
shell练习(正则)
文章目录grep正则:sed正则:grep正则:1、显示/etc/passwd文件中以bash结尾的行;grep "bash$" /etc/passwd2、找出/etc/passwd文件中的三位或四位数;grep -o "\<[0-9]\{2,3\}\>" /etc/passwd3、找出/etc/grub2.cfg文件中,以至少一个空白字符开头,后面又跟了非空白字符的行grep "^[[:space:]]\+[^[:space:]]\+" /etc/grub2.cfg4、找原创 2021-11-06 21:30:24 · 990 阅读 · 0 评论 -
shell练习题(3)
1、编写函数,实现打印绿色OK和红色FAILED 判断是否有参数,存在为Ok,不存在为FAILED#! /bin/bashkk(){ if [ $# -ne 0 ] then echo -e "\033[32m OK \033[0m" else echo -e "\033[31m FAILED \033[0m" fi}read -p "请输入参数:" numkk $num2、编写函数,实现判断是否无位置参数,如无参数,提示错误#! /b原创 2021-11-05 21:26:28 · 371 阅读 · 0 评论 -
shell复习
文章目录shell复习1.如何获取一个文件每一行的第三个元素?2.shell函数能解决什么实际问题3.使用awk统计httpd访问日志中每个客户端IP的出现次数4.那些方式可以将标准输出和错误输出重定向到文件?5.正则表达式符号:*、+、?、[]、[^]、\\{n\\}分别代表什么含义6.shell中对变量字串进行截取的方式有哪些7.使用sed命令如何将文件中所有大写字母Q转换为小写字母q?8.执行如下命令会对test.txt文件产生什么样的影响9.编写脚本,用户输入密码,脚本判断密码是否正确,输入正确则提原创 2021-11-22 18:53:38 · 1103 阅读 · 0 评论
分享