主机参考:VPS测评参考推荐/专注分享VPS服务器优惠信息!若您是商家可以在本站进行投稿,查看详情!此外我们还提供软文收录、PayPal代付、广告赞助等服务,查看详情! |
我们发布的部分优惠活动文章可能存在时效性,购买时建议在本站搜索商家名称可查看相关文章充分了解该商家!若非中文页面可使用Edge浏览器同步翻译!PayPal代付/收录合作 |
本教程的运行环境:linux5.9.8系统和Dell G3电脑。
linux命令sh是什么意思?
linux sh命令简介
1.可能的执行方式。linux下的sh文件。sh文件是一个文本文件。如果要执行,需要使用chmod a+x xxx.sh给予可执行权限。
2.开始:#!/bin/shshell程序必须以“#!/bin/sh "。#在果壳里一般是评论的意思,所以很多时候被认为“#!"也是评论,其实不是。
"#!/bin/sh & quot;是一个关于shell、您正在使用的shell类型及其路径的声明。
#!/bin/表示这个脚本是用。bin/sh。
#!是一个特殊符号,后跟解释该脚本的shell的路径。如果没有声明,脚本将在缺省shell中执行,缺省shell由用户的系统定义为执行shell脚本。如果脚本被编写为在Korn shell KSH中运行,并且默认的shell脚本是C shell csh,那么脚本很可能在执行过程中失败。所以我建议你把“#!/bin/sh & quot;作为C语言的主要功能,需要写一个shell,让shell程序更加严谨。
3.变量必须在其他编程语言中使用。在shell编程中,所有的变量都是由字符串组成的,不需要声明变量。要给变量赋值,可以写:
#!/bin/sh #给变量赋值:a = "hello world" #现在打印变量A的内容:echo "A is:" echo $a a有时候变量名很容易和其他单词混淆,比如:
Num = num=2 echo“这是$numnd”这不会打印出来“这是第二个& quot只需打印“这是& quot因为shell会搜索变量numnd的值,但是这个变量没有值。因此,花括号可以用来告诉shell我们想要打印num变量:
Num = 2回显“这是$ {num} nd”以便打印“这是第二次& quot
4.shell命令和进程控制shell脚本中可以使用以下命令:
Unix命令尽管您可以在shell脚本中使用任何unix命令,但是仍然有一些相对更常用的命令。这些命令通常用于文件和文本操作。比如:
回声& quot一些文本& quot#打印屏幕上的文本内容ls #文件列表cp源文件destfile #文件复制mv旧名称新名称#重命名文件或移动文件rm文件#删除文件grep & # 39模式& # 39;File #在文件中搜索字符串,例如grep & # 39searchstring & # 39File.txt cat file.txt #将文件内容输出到标准输出设备(屏幕)读取var #显示用户输入并将输入分配给变量概念:管道、重定向和反斜杠管道|将一个命令的输出用作另一个命令的输入。grep & quot喂& quotFile.txt | wc -l上面的代码表示为:在File.txt中搜索包含“hello”的行,计算行数。这里,grep命令的输出被用作wc命令的输入。
需要注意的是,流水线之后的命令是子命令,不会出现在下一条命令中(有点像{}和{}中C++赋值的区别),比如下面这条命令:
#!/bin/shecho 1 2 3 | {读a b c;echo $ a $ b $ c;} #打印结果为:1 2 3echo $a $b $c #打印结果为空。重定向:将命令的结果输出到一个文件,而不是标准输出(屏幕)。& gt写文件并覆盖旧文件> & gt追加到文件末尾,保留旧文件的内容。
反破折号“`”:使用反破折号可以将一个命令的输出作为另一个命令的命令行参数。
找到。-mtime type f -print上述语句用于查找在过去24小时内修改过的文件(-mtime -2表示过去48小时)。如果您想打包所有找到的文件,您可以使用linux脚本:
#!/bin/sh #票是反勾号(`)不是正引号(`):tar-zcvf lastmod.tar.gz ` find。-mtimetype f-print `过程控制ifif表达式,如果条件为真,那么下面的部分将被执行:
如果…;然后…elif …;然后...其他...fi #注意是以fi结尾的。在大多数情况下,您可以使用测试命令来测试条件。比如可以比较字符串,判断文件是否存在,是否可读等等…
whilewhile循环的语法结构是:
# expression 1# while循环:表达式建立后,执行cmd while(expression)do cmddone # expression 2,可以直接使用truewhile true(或:)do cmd done。此命令可用于管线,例如:
#在${path}路径下找到唯一一个以“e”开头的子目录,并将其cd到此目录。Find $ {path}/e *-type d |在读取Corresp _ path doc $ { Corresp _ path } done测试条件通常使用“[]”来表示测试条件。重要的是要注意这里的空格,并确保空格在方括号中。
[-f & quot;somefile & quot] #判断文件是否存在[-d " test results/& quot;] #判断目录testResults/是否存在[-x]/bin/ls & quot;] #判断/bin/ls文件是否存在以及是否具有可执行权限[-n " $ var & quot;] #判断$var变量是否有值[" $ a & quot;= & quot$ b & quot] #判断$a和$b是否相等熟悉C语言的快捷运算符可能会喜欢这样的表达式:
[-f & quot;/etc/影子& quot]& amp;& ampEcho "这台电脑的影子通行证"在这里" &;& amp是快捷操作符,如果左边的表达式为真,则执行右边的语句。当然,上述表达式也可以视为逻辑运算中的AND运算。
shell编程中也有相同的OR操作“||”:
#!/bin/sh mail folder =/var/spool/mail/James[-r & quot;$ mailfolder & quot]“{ echo”无法读取$ mail folder”;出口1;} #我感觉这里的''应该是|| echo' $ mailfolder有邮件from:' grep' from' $ mail folder这个脚本首先确定邮件文件夹是否可读。如果可读,打印文件中的“From”行。如果它不可读,则OR操作生效,脚本在打印错误消息后退出。这里有一个问题,就是我们必须有两个命令:◆打印错误信息◆退出程序。我们使用花括号将两个命令以匿名函数的形式放在一起作为一个命令。下面将提到一般功能。没有and和or操作符,我们可以对if表达式做任何事情,但是使用AND或OR操作符要方便得多。
推荐学习:linux视频教程
以上是linux命令sh是什么意思的细节。更多信息请关注主机参考其他相关文章!
这几篇文章你可能也喜欢:
- 在Linux上操作vi编辑器(Linux上的vi编辑器命令)
- Mondoze:住宅IP/原生IP/IDC IP,VPS低至$8.33/马来西亚服务器/AS152742/11.11促销
- torchbyte 罗马尼亚 VPS 起价为 20 美元/年,AMD Ryzen9+ NVMe 硬盘,免费 DDoS 防护
- zlidc(智联IDC):韩国原生IP云服务器,35.9美元/季度,4核/4G内存/50G SSD/300M优质网络@2.5T月流量
- 椰草云双11活动:香港云服务器81元/年,香港实体服务器199元/月(香港云服务商)
本文由主机参考刊发,转载请注明:linux命令sh是什么意思? https://zhujicankao.com/93077.html
评论前必须登录!
注册