iis服务器助手广告广告
返回顶部
首页 > 资讯 > 操作系统 >linux命令sh指的是什么
  • 951
分享到

linux命令sh指的是什么

linux 2023-04-20 05:04:56 951人浏览 安东尼
摘要

本篇内容主要讲解“linux命令sh指的是什么”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“linux命令sh指的是什么”吧! li

本篇内容主要讲解“linux命令sh指的是什么”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“linux命令sh指的是什么”吧!

linux命令sh是linux中运行shell的命令,是shell的解释器,shell脚本是linux中壳层与命令行界面,用户可以在shell脚本输入命令来执行各种各样的任务。

1. 可能需要的执行方式

linux下执行.sh文件的方法

.sh文件就是文本文件,如果要执行,需要使用chmod a+x xxx.sh来给可执行权限。

2. 开头:#!/bin/sh

shell程序必须以“#!/bin/sh”开始。shell中#一般表示注释的意思,所以很多时候认为"#!"也是注释,但实际上并不是。

"#!/bin/sh"是对shell的声明,说明你所用的是哪种类型的shell及其路径所在。

#!/bin/是指此脚本使用.bin/sh来执行。

#!是特殊的表示符,其后面跟的是解释此脚本的shell的路径,如果没有声明,则脚本将在默认的shell中执行,默认shell是由用户所在的系统定义为执行shell脚本,如果脚本被编写为在Kornshell ksh中运行,而默认运行shell脚本的为C shell csh,则脚本在执行过程中很可能失败。所以建议大家就把"#!/bin/sh"当成C 语言的main函数一样,写shell必须有,以使shell程序更严密。

3. 变量

在其他编程语言中必须使用变量。在shell编程中,所有变量都由字符串组成,并且不需要对变量进行声明。要赋值给一个变量,可以这样写:

#!/bin/sh
 #对变量赋值:
 a=”hello world”# 现在打印变量a的内容:
 echo “A is:” echo $a

有时候变量名很容易与其他文字混淆,比如:

 num=2
 echo “this is the $numnd”

这并不会打印出”this is the 2nd",而仅仅打印"this is the ",因为shell会去搜索变量numnd的值,但是这个变量是没有值的。因此,可以使用花括号来告诉shell我们要打印的是num变量:

 num=2
 echo “this is the ${num}nd”

这样才会打印”this is the 2nd"

4. Shell命令和流程控制

在shell脚本中可以使用以下命令:

Unix命令

虽然在shell脚本中可以使用任意的unix命令,但还是有一些相对更常用的命令。这些命令通常是用来进行文件和文字操作的。
如:

 echo "some text" #将文字内容打印在屏幕上
 ls #文件列表
 cp sourcefile destfile #文件拷贝
 mv oldname newname #重命名文件或移动文件
 rm file #删除文件
 grep 'pattern' file #在文件内搜索字符串,如:grep 'searchstring' file.txt
 cat file.txt #输出文件内容到标准输出设备(屏幕)上
 read var #显示用户输入,并将输入赋值给变量

概念:管道,重定向和backtick(反斜线)

  1. 管道 | 将一个命令的输出作为另外一个命令的输入。

grep "hello" file.txt | wc -l

上述代码表示为:在 file.txt 中搜索包含有 “hello” 的行并计算其行数。在这里grep命令的输出作为wc命令的输入。

需要注意的是,管道后的命令是子命令,并不会出现在接下来的命令中(有点像c++{}内和{}外赋值的区别),如以下命令:

#!/bin/shecho 1 2 3 | { read a b c ; echo $a $b $c ; } # 打印结果为: 1 2 3echo $a $b $c # 打印结果为空
  1. 重定向:将命令的结果输出到文件,而不是标准输出(屏幕)。
    >写入文件并覆盖旧文件
    >>追加到文件的尾部,保留旧文件内容。

  2. 反短横线 “`”:使用反短横线可以将一个命令的输出作为另一个命令的一个命令行参数。

 find . -mtime  -1  -type  f  -print

上述语句用来查找过去24小时(-mtime -2则表示过去48小时)内修改过的文件。如果想将所有查找到的文件打一个包,则可以使用一下linux脚本:

 #!/bin/sh
 # The ticks are backticks (`) not nORMal quotes (‘):
 tar -zcvf  lastmod.tar.gz `find . -mtime -1 -type f -print`

流程控制

if
if 表达式,如果条件为真则执行 then 后面的部分:

 if ….; then
 …. elif ….; then
 …. else
 …. fi #注意是以fi结尾

大多数情况下,可以使用测试命令来对条件进行测试。比如可以比较字符串、判断文件时都存在以及是否可读等等…

while
while 循环的语法结构为:

# expression 1# while循环:当expresssion成立的时候,执行cmdwhile (expresssion)do
  cmddone# expression 2,可以直接使用truewhile true(或 :)do 
	cmddone

该命令配合可以配合管道使用,如:

# 寻找 ${path} 路径下唯一首字母为‘E’的子目录,并 cd 到该目录find ${path}/E* -type d | while read corresp_pathdo
	cd ${corresp_path}done

测试条件
通常使用“[ ]”来表示测试条件。注意这里的空格很重要,要确保方括号里的空格。

 [ -f "somefile" ] #判断文件是否存在
 [ -d "testResults/" ] #判断目录testResults/是否存在
 [ -x "/bin/ls" ] #判断/bin/ls文件是否存在并有可执行权限
 [ -n "$var" ] #判断$var变量是否有值
 [ "$a" = "$b" ] #判断$a和$b是否相等

快捷操作符
熟悉C语言可能会喜欢一下表达式:

  [ -f "/etc/shadow" ] && echo “This computer uses shadow passwors”

这里“&&”就是一个快捷操作符,如果左边的表达式为真则执行右边的语句。当然也可以将上述表达式认为是逻辑运算中的与操作。

同样或操作“||”在shell编程中也是可用的:

 #!/bin/sh
 mailfolder=/var/spool/mail/james [ -r "$mailfolder" ]‘ ‘{ echo “Can not read $mailfolder” ; exit 1; } #感觉这里的‘’应该是||
 echo “$mailfolder has mail from:” grep “^From ” $mailfolder

该脚本首先判断mailfolder是否可读。如果可读则打印该文件中的”From” 一行。如果不可读则或操作生效,打印错误信息后脚本退出。这里有个问题,那就是我们必须有两个命令:
◆打印错误信息
◆退出程序
我们使用花括号以匿名函数的形式将两个命令放到一起作为一个命令使用。一般函数将在下文提及。
不用‘与’和‘或’操作符,我们也可以用if表达式作任何事情,但是使用与或操作符会更便利很多。

到此,相信大家对“linux命令sh指的是什么”有了更深的了解,不妨来实际操作一番吧!这里是编程网网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

--结束END--

本文标题: linux命令sh指的是什么

本文链接: https://www.lsjlt.com/news/201699.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • linux命令sh指的是什么
    本篇内容主要讲解“linux命令sh指的是什么”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“linux命令sh指的是什么”吧! li...
    99+
    2023-04-20
    linux
  • linux命令sh是什么意思
    Linux命令sh是指Shell,它是一种命令行解释器。Shell是操作系统和用户之间的接口,它提供了一种执行命令、脚本和程序的方式...
    99+
    2023-08-25
    linux
  • linux命令和dos命令指的是什么
    这篇“linux命令和dos命令指的是什么”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“l...
    99+
    2023-02-15
    linux dos
  • Linux中sh命令怎么用
    这篇文章主要介绍了Linux中sh命令怎么用,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。Linux常用命令sh命令 是shell命令语言解释器,执行命令从标准输入读取或从一...
    99+
    2023-06-28
  • linux make命令指的是什么
    本篇内容介绍了“linux make命令指的是什么”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!linux make命令是系统管理员和程序员...
    99+
    2023-07-05
  • linux命令台指的是什么
    这篇文章主要介绍“linux命令台指的是什么”,在日常操作中,相信很多人在linux命令台指的是什么问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”linux命令台指的是什么”的疑惑有所帮助!接下来,请跟着小编...
    99+
    2023-07-05
  • linux命令ls指的是什么
    这篇文章主要介绍“linux命令ls指的是什么”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“linux命令ls指的是什么”文章能帮助大家解决问题。在linux中,ls全称“list”,中文意思为“列...
    99+
    2023-07-02
  • Linux中chattr命令指的是什么
    chattr命令是一个文件系统命令,主要用于设置文件的隐藏权限以及更改目录中文件的属性,这些属性共有以下8种模式:a:让文件或目录仅供附加用途。b:不更新文件或目录的最后存取时间。c:将文件或目录压缩后存放。d:将文件或目录排除在倾倒操作之...
    99+
    2024-04-02
  • Linux中的关机命令指的是什么
    今天就跟大家聊聊有关Linux中的关机命令指的是什么,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。通常上,当你想要关闭或者重启你的机器时,你会运行下面之一的命令:shutdown 命...
    99+
    2023-06-28
  • Linux系统的Gcc命令指的是什么
    Linux系统的Gcc命令指的是什么,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。Linux系统下的Gcc(GNU C Compiler)是GNU推出的功能强大、性能优越的多平...
    99+
    2023-06-28
  • linux安装vim的命令指的是什么
    本篇文章给大家分享的是有关linux安装vim的命令指的是什么,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。在linux中,可以利用yum命令安装vim编辑器,该命令用于查找、...
    99+
    2023-06-26
  • Linux下怎么用命令运行.sh文件
    这篇文章主要介绍“Linux下怎么用命令运行.sh文件”,在日常操作中,相信很多人在Linux下怎么用命令运行.sh文件问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Linux下怎么用命令运行.sh文件”的疑...
    99+
    2023-06-12
  • hdfs命令指的是什么
    这篇文章主要讲解了“hdfs命令指的是什么”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“hdfs命令指的是什么”吧! hdfs命...
    99+
    2023-03-15
    hdfs
  • linux如何运行sh脚本命令
    在Linux中运行sh脚本命令有以下几种方法:1. 使用sh命令运行脚本:在终端中输入`sh 脚本文件名.sh`,即可运行sh脚本。...
    99+
    2023-09-17
    linux
  • Linux系统rz和sz命令指的是什么
    今天就跟大家聊聊有关Linux系统rz和sz命令指的是什么,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。Linux系统同Windows进行文件传输一般都采用sftp工具,除此之外rz...
    99+
    2023-06-28
  • Linux命令中的find命令是什么
    Linux命令中的find命令是什么,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。find 是 Linux 中强大的搜索命令,不仅可以按照文件名搜索文件,还可以按照权限、大小、...
    99+
    2023-06-28
  • linux命令中的wget命令是什么
    这期内容当中小编将会给大家带来有关linux命令中的wget命令是什么,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。对于网络管理员来说要经常下载一些软件或从远程服务器恢复备份到本地服务器,使用Linux ...
    99+
    2023-06-28
  • linux的ll命令指什么意思
    今天小编给大家分享一下linux的ll命令指什么意思的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。在linux中,“ll”命...
    99+
    2023-06-29
  • linux的touch命令是什么
    linux的touch命令是一个用于创建新文件或者修改文件时间戳的命令,可以用于创建新文件、修改文件的访问时间和修改时间、修改已存在文件的时间戳、复制文件的时间戳以及设置自定义的时间戳,无论是在日常开发中还是在测试和调试中,touch命令都...
    99+
    2023-08-09
  • 可以查看进程的Linux命令指的是什么
    可以查看进程的Linux命令指的是什么,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。我们在使用Linux系统的过程中,有的时候会需要查看后台进程,并选择性的关闭一些不用的进程,...
    99+
    2023-06-28
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作