转载|shell 脚本常用语法
发布网友
发布时间:2024-10-06 05:39
我来回答
共1个回答
热心网友
时间:16小时前
脚本以#!/bin/bash开头(指定解析器)
bash执行
sh执行
直接执行(需要有执行权限)
系统预定义变量
常用系统变量
HOME、HOME、HOME、PWD、SHELL、SHELL、SHELL、USER等
案例实操
自定义变量
基本语法
变量定义规则
$n
功能描述:n为数字,0代表该脚本名称,1-9代表第一到第九个参数,十以上的参数,十以上的参数需要用大括号包含,如{10}
$#
功能描述:获取所有输入参数个数,常用于循环
∗、*、∗、@
再循环中 可以发现区别
$?
功能描述:最后一次执行的命令的返回状态。如果这个变量的值为0,证明上一个命令正确执行;如果这个变量的值为非0(具体是哪个数,由命令自己来决定),则证明上一个命令执行不正确了
两个整数之间比较
按照文件权限进行判断
按照文件类型进行判断
if 判断
基本语法:
脚步:
执行结果:
case语句
基本语法:
脚步:
执行结果:
for循环
基本语法:
脚步:
执行结果:
while循环
基本语法:
脚步:
执行结果:
read读取控制台输入
基本语法:
选项:
参数:
basename
基本语法: basename [string / pathname] [suffix]
功能描述:basename命令会删掉所有的前缀包括最后一个(‘/’)字符,然后将字符串显示出来 选项:suffix为后缀,如果suffix被指定了,basename会将pathname或string中的suffix去掉。
dirname
基本语法: dirname 文件绝对路径 功能描述:从给定的包含绝对路径的文件名中去除文件名(非目录的部分),然后返回剩下的路径(目录的部分)
基本语法:
代码:
执行结果:
基本用法 cut [选项参数] filename 说明:默认分隔符是制表符 选项参数说明
awk [选项参数] ‘pattern1{action1} pattern2{action2}...’ filename pattern:表示AWK在数据中查找的内容,就是匹配模式 action:在找到匹配内容时所执行的一系列命令 选项参数说明
awk的内置变量
基本语法 sort(选项)(参数)
正则表达式使用单个字符串来描述、匹配一系列符合某个句法规则的字符串。在很多文本编辑器里,正则表达式通常被用来检索、替换那些符合某个模式的文本。在Linux中,grep,sed,awk等命令都支持通过正则表达式进行模式匹配。
常规匹配
一串不包含特殊字符的正则表达式匹配它自己,例如: [atguigu@hadoop102 datas]$ cat /etc/passwd | grep atguigu 就会匹配所有包含atguigu的行
常用特殊字符
特殊字符:^
特殊字符:$
特殊字符:.
特殊字符:*
特殊字符:[ ]
特殊字符:\
注意:直接匹配 字符,需要进行转义并且加上单引号就会匹配所有包含a 字符,需要进行转义并且加上单引号就会匹配所有包含 a字符,需要进行转义并且加上单引号就会匹配所有包含ab 的行。
转载|shell 脚本常用语法
基本语法: basename [string / pathname] [suffix]功能描述:basename命令会删掉所有的前缀包括最后一个(‘/’)字符,然后将字符串显示出来 选项:suffix为后缀,如果suffix被指定了,basename会将pathname或string中的suffix去掉。dirname 基本语法: dirname 文件绝对路径 功能描述:从给定的包含绝对路径的文...
【shell】shell脚本实战-for循环
for循环的基本语法有以下两种形式:1. 第一种格式:`for 变量 in 列表; do 命令; done`。这里的`变量`将依次获取列表中的每个元素,`命令`在每次迭代时执行。2. 第二种格式:`for (( 表达式 )); do 命令; done`。在这里,`表达式`可以用来定义循环的开始、结束和步长,使得循环更具灵活性。...
Linux | shell脚本-比较判断和运算语句
使用`expr`和`let`实现加减乘除,通过脚本实现数值计算。比较判断和运算语句是shell脚本的基础,熟练掌握这些语法对于编写高效、灵活的脚本至关重要。
每天2分钟学习unix/linux系统shell编程(九)-for循环详解
1. seq命令的铺垫seq命令有两个参数:-s用于指定分隔符,-w用于等宽输出并用0填充。例如:2. shell脚本语法介绍shell脚本的基本格式包括指定解释器,如/bin/sh,可通过ls -l /bin/sh查看具体shell。脚本中常用指令有注释,使用#开头,推荐英文注释。以下是脚本结构和特殊指令的简要说明:3. for循环的...
shell脚本,重定向输出到文件,不换行
1、首先命令输出重定向的语法为:$ command > file,输出到显示器的内容就可以被重定向到文件。下面的命令在显示器上不会看到任何输出:$ who > users打开 users 文件,可以看到下面的内容。2、使用“>”会覆盖文件内容,使用“>>”追加到文件末尾。3、输入重定向和输出重定向一样,Unix 命令也可以...
【Shell编程】| if 判断的五个关键点
在Shell脚本编程中,if条件判断是基础且不可或缺的元素。尽管看似简单,但深入理解其使用细节至关重要。近期我在编程实践中频繁遇到if的运用问题,这促使我决定深入剖析并整理出一个全面的if语句使用指南,以提高效率并深化理解。首先,我们要掌握if语句的基本语法格式。基本的if格式包括直接if语句(1.1)...
在shell脚本中,如何定义函数并调用它们?
调用函数在Shell中与调用其他命令相同。例如,如果函数名是my_func,可以像下面这样执行:my_func。如果函数需要参数,可以从命令行提供这些参数,例如my_func arg1 arg2。定义函数使用以下语法:函数名称() {命令或脚本内容}。我们创建一个简单的函数,用于显示消息,如下所示:现在让我们执行这个函数:我...
求助:LINUX常用SHELL命令
LINUX常用命令1 文件与目录操作命令1.1文件内容查询命令 grep、fgrep、egrepCODE:[Copy to clipboard]语法:grep[选项][查找模式][文件名1,文件名2,……]选项:QUOTE:-E 每个模式作为一个扩展的正则表达式对待-F 每个模式作为一组固定字符串对待,而不作为正则表达式-i 比较时不区分大小写-l 显示首次匹配匹配串所在...
linux shell编程脚本第一行为什么一定要用"#!/bin/sh",不写行不行?这...
!/bin/sh为指定你运行脚本的shell类型,是bash,ksh还是其它,一般系统有固定的shell,不定这行也能执行,只是为了规范写上的。还有比如你执行的是perl程序,就可以写#!/bin/perl.
shell脚本line1: syntax error: unexpected"("是什么意思
出现 line 1: syntax error: unexpected "(" 的错误说明可执行脚本出现异常,具体错误在脚本的第一行,是语法错误,“(”不是预期的。题主需要检查脚本中的实际内容,根据具体内容去排除问题,脚本才能正确执行。