首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

为什么shell对"find“命令的解释不同于已执行的脚本?

Shell对"find"命令的解释不同于已执行的脚本是因为"find"命令是一个独立的命令行工具,而不是Shell的内置命令。Shell会将用户输入的命令与内置命令列表进行匹配,如果找到匹配的内置命令,则直接执行该命令。但是对于不在内置命令列表中的命令,Shell会将其解释为外部命令,并尝试在系统的可执行路径中查找该命令的可执行文件。

在执行脚本时,Shell会按照脚本中的命令顺序逐行解释执行。当Shell遇到"find"命令时,它会将其解释为脚本中的一个命令,并尝试执行该命令。如果脚本中没有定义名为"find"的函数或别名,Shell会在系统的可执行路径中查找"find"命令的可执行文件,并执行该文件。

总结起来,Shell对"find"命令的解释不同于已执行的脚本是因为Shell会将用户输入的命令与内置命令列表进行匹配,而对于不在内置命令列表中的命令,Shell会将其解释为外部命令,并尝试在系统的可执行路径中查找该命令的可执行文件。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

shell脚本介绍,shell脚本结构和执行方式,date命令用法,shell脚本变量简介

概念区别:   shellshell脚本有什么区别?确切一点说,Shell就是一个命令解释器,它作用就是遵循一定语法将输入命令加以解释并传给系统。...作为命令型语言,它互动式地解释执行用户输入命令;作为程序设计语言,它定义了各种变量和参数,并提供了许多在高阶语言中才具有的控制结构,包括循环和分支。...是一个约定标记,后面跟着/bin/bash是告诉系统这个脚本需要使用/bin/bash解释器来执行,即使用哪一种Shell。例如像python脚本就不一样了:#!...简单来说就是告诉系统这是一个什么语言写脚本,是python是shell或者是其他脚本语言所写,然后系统才能使用相应解释器去执行这个脚本。...Shell脚本文件名称是以.sh为后缀,用于区分这是一个shell脚本shell注释符是井号“#”,和其他编程语言一样,注释那一行内容不会被解释执行,但是要注意区别“#!”

2.5K60

在python脚本执行shell命令方法

在python脚本执行shell命令方法 最近在写python一些脚本,之前使用python都是在django中使用,可能大部分内容都是偏向于后端开发方面的,最近在写一些脚本时候,发现了...使用Python处理一个shell命令或者一个执行一个shell脚本,一般情况下,有下面三种方法,下面我们来看: 第一种方法是使用os.system方法 os.system("cmd") 我们在当前目录下面创建一个...命令打印出来aaa.sql中内容,然后下面出现数字0代表上述命令执行成功;如果我们打印bbb.sql则返回值是256,表示执行中出现了问题。...shell命令pwd时候,commands.getstatusputput返回值是0,也就是执行成功,返回结果是当前目录;当执行pwddddd时候,由于不是系统命令,所以返回结果是command...,可以得到一个脚本或者一个命令返回值和执行结果,当然,我们也可以使用下面的方法来分别校验aaa.sql文件是否存在,以及查看aaa.sql执行结果: 1[root@ /data]$python 2Python

5.3K00

Shell 脚本中跟踪调试命令执行

文章目录 shell 脚本调试系列 概述 shell 跟踪执行重要性 shell 脚本调试系列 本系列前面部分清晰地阐明了另外两种 shell 脚本调试模式:详细模式和语法检查模式,并用易于理解例子展示了如何在这些模式下启用...Linux 中启用 Shell 脚本调试模式 在 Shell 脚本执行语法检查调试模式 在 Shell 脚本中跟踪调试命令执行 ---- 概述 shell 跟踪简单来说就是跟踪 shell 脚本命令执行...要打开 shell 跟踪,请使用 -x 调试选项。 这会让 shell 在终端上显示所有执行命令及其参数。...---- shell 跟踪执行重要性 hell 脚本跟踪可以帮助我们识别语法错误,更重要是识别逻辑错误。...exit 1; fi } 注意:我们在本系列开头介绍过,set 这个 shell 内置命令可以在 shell 脚本特定部分激活调试。

85020

linux学习第六十三篇:Shell脚本介绍,Shell脚本结构和执行,date命令用法,Shell脚本变量

Shell脚本介绍 shell是一种脚本语言 aming_linux blog.lishiming.net 可以使用逻辑判断、循环等语法 可以自定义函数 shell是系统命令集合 shell脚本可以实现自动化运维...,能大大增加我们运维效率 Shell脚本结构和执行 开头需要加#!.../bin/bash 以#开头行作为解释说明 脚本名字以.sh结尾,用于区分这是一个shell脚本 执行方法有两种 chmod +x 1.sh; ./1.sh ; 这个..../是相对路径,使用完整路径也可以执行 bash 1.sh 查看脚本执行过程 bash/sh -x 1.sh 查看脚本是否语法错误 bash/sh -n 1.sh date命令用法 显示日历 cal...fi 引用某个命令结果时,用变量替代 n=wc -l 1.txt 写和用户交互脚本时,变量也是必不可少 read -p “Input a number: ” n; echo n如果没写这个

1.7K70

Shell 命令行,实现若干网站状态批量查询是否正常脚本

Shell 命令行,实现若干网站状态批量查询是否正常脚本 如果你有比较多网站,这些网站运行状态是否正常则是一件需要关心事情。但是逐一打开检查那简直是一件太糟心事情了。...所以,我想写一个 shell 脚本来实现若干网站进行批量状态查询脚本。 原理没什么要解释,就是使用 curl -I 网站状态码进行查询。轮着查就是了。...文件准备 在要执行脚本文件夹下面创建两个文件和一个文件夹,分别是 文件、文件夹 说明 ./watch.sh 我们批量查询脚本文件 ./siteList.txt 我们域名列表文件 ....实现 shell 脚本 logfile='....根据执行结果判断是否正常,正常就返回正常HTTP状态码,否则输出die 将执行结果输出到日志文件 打印完成时间 在终端标准输出 ok 表示脚本执行完成。

1.7K81

Linux下间隔多少秒 (即以秒为单位) 去执行某条命令或某个shell脚本操作方法

在日常运维工作中, 经常会碰到以秒为单位去定时执行某些命令或监控脚本需求。..., 下面介绍三种方法来实现秒级别的定时任务执行: 第一种方法 写一个触发脚本,在触发脚本中使用死循环来解决此问题 [root@test ~]# cat kevin.sh #!...例如很早之前用来监控sftp高可用中vip资源(172.16.51.193)脚本,实时执行!...>> /root/test.log 添加脚本执行权限,并配置到crontab计划任务里(使用&& 或者 ;都是一样效果)。思路:先过一分钟执行第一次,接着就是每隔2秒钟执行一次。...上面介绍三种方法,比较倾向于推荐第三种方法,因为前两种方法并不是严格间隔2秒执行,可能会大于2秒,因为执行脚本(kevin.sh)本身也是需要一定时间

2.4K50

第二十五章 : 编写第一个 Shell 脚本

最简单解释,一个 shell 脚本就是一个包含一系列命令文件。shell 读取这个文件,然后执行文件中所有命令,就好像这些命令已经直接被输入到了命令行中一样。...Shell 有些独特,因为它不仅是一个功能强大命令行接口,也是一个脚本语言解释器。...所以我们需要设置脚本文件权限来允许其可执行。 把脚本放置到 shell 能够找到地方。 当没有指定可执行文件明确路径名时,shell 会自动地搜索某些目录,来查找此可执行文件。...这个 shebang 被用来告诉操作系统将执行脚本所用解释名字。每个 shell 脚本都应该把这一文本行作为它第一行。...We can view the contents of PATH: 为什么会这样呢?什么使我们脚本不同于其它程序?结果证明,什么也没有。我们脚本没有问题。是脚本存储位置问题。

21720

编写Shell脚本最佳实践

/a.sh来执行这个脚本时候,如果没有shebang,那么它就会默认用$SHELL指定解释器,否则就会用shebang指定解释器。...但是脚本不一样,脚本属于解释性语言,从第一行直接执行到最后一行,如果在这当中命令与函数糅杂在一起,那就非常难读了。 用python朋友都知道,一个合乎标准python脚本大体上至少是这样: #!...通常我们是直接用pwd以期获得脚本路径。 不过其实这样是不严谨,pwd获得是当前shell执行路径,而不是当前脚本执行路径。...这里效率提升原因,就是第二种只要执行一次命令,而第一种要执行多次。 并且,巧用xargs命令,我们还可以十分方便进行并行化处理: find ....这时候要么用iconv之类字符集转换工具将字符集进行切换,要么就在不影响查找情况下grep加-a参数,将所有文件看成文本文件: find .

76310

编写Linux Shell脚本最佳实践

/a.sh来执行这个脚本时候,如果没有shebang,那么它就会默认用$SHELL指定解释器,否则就会用shebang指定解释器。...但是脚本不一样,脚本属于解释性语言,从第一行直接执行到最后一行,如果在这当中命令与函数糅杂在一起,那就非常难读了。...通常我们是直接用pwd以期获得脚本路径。 不过其实这样是不严谨,pwd获得是当前shell执行路径,而不是当前脚本执行路径。...这里效率提升原因,就是第二种只要执行一次命令,而第一种要执行多次。 并且,巧用xargs命令,我们还可以十分方便进行并行化处理: find ....这时候要么用iconv之类字符集转换工具将字符集进行切换,要么就在不影响查找情况下grep加-a参数,将所有文件看成文本文件: find .

1K30

【DB笔试面试275】 与SHELL脚本相关一些笔试面试题(目前37道,后续持续更新)

标记用途是什么? 答案:在写一个SHELL脚本时,如果想要检查前一命令是否执行成功,那么可以使用“$?”来检查前一条命令结束状态。...答案:continue命令不同于break命令,它只跳出当前循环迭代,而不是整个循环。continue命令很多时候是很有用,例如错误发生,但依然希望继续执行外层循环时候。...答案:如同for循环,while循环只要条件成立就会重复执行命令块。不同于for循环,while循环会不断迭代,直到它条件不为真。.../bin/bash”作用是什么? 答案:“#!/bin/bash”是SHELL脚本第一行,意思是后续命令都通过/bin/bash来执行。 真题14、请写出SHELL脚本中for循环语法。...可以使用find命令配合tar命令,将指定路径特殊文件使用find命令找出来,然后配合tar命令将找出文件直接打包,命令如下: # find / -name *.conf -type f -print

1.8K30

编写 Shell 脚本最佳实践

/a.sh 来执行这个脚本时候,如果没有 shebang,那么它就会默认用 $SHELL 指定解释器,否则就会用 shebang 指定解释器。...因为很多单行 shell 命令不是那么浅显易懂,没有注释的话在维护起来会让人尤其头大。 注释意义不仅在于解释用途,而在于告诉我们注意事项,就像是一个 README。...但是脚本不一样,脚本属于解释性语言,从第一行直接执行到最后一行,如果在这当中命令与函数糅杂在一起,那就非常难读了。...通常我们是直接用 pwd 以期获得脚本路径。 不过其实这样是不严谨,pwd 获得是当前 shell 执行路径,而不是当前脚本执行路径。...前者是多次执行 find,后者是执行一次 find,但是增加了 sed 模式串。第一种可读性更好一点,但是当替换量变大时候,第二种速度就会比第一种快很多。

99410

用 Webhook+Python+Shell 编写一套 Unix 类系统监控工具

作为命令语言,它交互式解释执行用户输入命令,或者自动地解释执行预先设定好一连串命令; 作为程序设计语言,它定义了各种变量和参数,并提供了许多在高级语言中才具有的控制结构,包括循环和分支。...shell 输入命令分析: 在 Linux 中,有一些命令,例如 cd 是包含在 shell 内部命令,还有一些命令,例如 cp、mv 或 rm 是存在于文件系统中某个目录下单独程序。...Python 是什么 Python 是一门编程语言,意味着可以用 Python 编写程序,完成一定功能; Python 是一种脚本语言,这就是说,Python 程序需要在一个解释器中运行,这个解释器把程序翻译成计算机可执行二进制代码...Python 解释器有两种模式,一种是交互式模式,在这种模式下,输入代码在回车后会立即执行,并显示代码执行结果,在命令行中通过输入 Python 进入交互式模式,输入 exit() 退出交互式模式;...九、常见服务脚本思路 常见服务监控脚本 在编写脚本之前,我们首先要知道就是脚本存在意义,为什么要编写脚本,否则那将毫无意义!

2.5K61

【建议收藏系列】爆肝3w字带你理解什么叫运维~

编程 shell历史 Shell作用是解释执行用户命令,用户输入一条命令Shell解释执行一条,这种方式称为交互式(Interactive),Shell还有一种执行命令方式称为批处理(Batch...Shell脚本和编程语言很相似,也有变量和流程控制语句,但Shell脚本解释执行,不需要编译,Shell程序从脚本中一行一行读取并执行这些命令,相当于一个用户把脚本命令一行一行敲到Shell提示符下执行...(称为Shebang)则例外,它表示该脚本使用后面指定解释器/bin/sh解释执行。如果把这个脚本文件加上可执行权限然后执行: chmod a+x test.sh ....-print: find命令将匹配文件输出到标准输出。 -exec: find命令匹配文件执行该参数所给出shell命令。...find命令配合使用exec和xargs可以使用户所匹配到文件执行几乎所有的命令

2K30

Shell脚本编程

Shell脚本编程 简介 Shell 是一个用 C 语言编写程序,它是用户使用 Linux 桥梁。Shell 既是一种命令语言,又是一 种程序设计语言。...(翻译官,帮你翻译命令给内核执行) 图片 Linux Shell 种类众多,常见有: Bourne Shell(/usr/bin/sh或/bin/sh) Bourne Again Shell...对象式:以数据为中心,命令服务于数据 shell是一种过程式编程 过程式编程 顺序执行 循环执行 选择执行 编程语言分类 编译型语言 解释型语言(shell是一种解释型语言) 图片 运行脚本...给予执行权限,通过具体文件路径指定文件执行 直接运行解释器,将脚本作为解释器程序参数运行 bash退出状态码 范围是0-255 脚本中一旦遇到exit命令脚本会立即终止,终止退出状态取决于exit...命令后面的数字 如果未给脚本指定退出状态码,整个脚本退出状态码取决于脚本执行最后一条命令状态 变量 变量命名 命名只能使用英文字母,数字和下划线,首字母不能以数字开头 中间不能够有特殊字符,可以使用

2.1K20

终端与shell区别

终端工作:用户通过终端输入命令,终端将命令传入计算机,执行后,并把结果输入到终端上显示。...{/callout} shell 我之前很迷惑一个问题是,有终端就够了嘛,输入命令执行并把结果输出,要shell干什么。更让人抓狂shell还有很多种类,bash,cshell,zsh。...shell为什么叫做命令解释器 不管是GUI shell 还是命令Shell,其实都是在解释命令,只不过GUI shell隐藏解释命令细节,用户通过点击鼠标的操作操作内核命令。...为什么有这么多命令shell shellshell脚本语言并不完全相同概念。shell除了包括命令语法规范(shell语言)和命令解析,还包括一些额外功能(如命令补全、主题等等)。...不同shell区别主要是两方面: 脚本语言语法有差异 功能、外观、自定义美化上有差异 脚本语言 早期sh甚至不支持给长命令设置别名语法。

73320

如何在 Linux 中运行一个 Shell 脚本

在 Linux 中有两种运行 shell 脚本方法。你可以使用: bash script.sh 或者,你可以像这样执行 shell 脚本: ./script.sh 这可能很简单,但没太多解释。...不要担心,我将使用示例来进行必要解释,以便你能理解为什么在运行一个 shell 脚本时要使用给定特定语法格式。...在 Linux 中运行一个 Shell 脚本 记住,将其作为参数传递需要是一个 shell 脚本。一个 shell 脚本是由命令组成。如果你使用一个普通文本文件,它将会抱怨错误命令。...例如,我安装了 zsh ,并使用它来运行相同脚本: 使用 Zsh 来执行 Shell 脚本 方法 2:通过具体指定 shell 脚本路径来执行脚本 另外一种运行一个 shell 脚本方法是通过提供它路径...这就是为什么你可以在你系统任何位置通过使用命令名称来运作这些命令原因。看看,ls 命令就是位于 /usr/bin 目录中。

3.4K20

Python自动化运维之shell终极指南

--> 方式(工具+脚本脚本shell脚本 其他脚本 1.1.2 shell简介 shell定位 shell 命令解释shell分类...脚本[记忆] 1.2.1 创建脚本 创建方式 任意一种编辑文件工具都可以 vim 脚本命名 有意义 脚本内容 命令:可执行成功命令 执行:从上到下按顺序执行...source zhushi.sh /bin/bash c 开发规范 1 脚本命名 -- 有意义 2 脚本首行 -- 命令解释器 3 注释信息 -- 尽量全面...注意: 核心:2-4-5 拓展:为什么 "是而且必须是" 命令解释器出现位置很多,多重保险 1.3 变量[应用] 1.3.1 什么是变量...内置变量 内置变量 bash内部直接定义好特殊参数,我们可以直接拿过来用 脚本文件 $0 获取脚本文件名 $# 获取脚本执行时候参数总个数 $n 获取脚本执行时候指定位置参数内容

1.5K20

Linux自动删除n天前日志及实例命令

1.删除文件命令find 对应目录 -mtime +天数 -name “文件名” -exec rm -rf {} \; 实例命令find /opt/soft/log/ -mtime +30 -name...具体参数说明如下: find:linux查找命令,用户查找指定条件文件; /opt/soft/log/:想要进行清理任意目录; -mtime:标准语句写法; +30:查找30天前文件,这里用数字代表天数...; {} \; :固定写法,一大括号+空格+\+; 2.计划任务: 若嫌每次手动执行语句太麻烦,可以将这小语句写到一个可执行shell脚本文件中,再设置cron调度执行,那就可以让系统自动去清理相关文件...每次添加完任务后,一定记得重新启动crond服务,不然不会生效 代码如下: service crond restart 创建你第一个Shell脚本 1.写一个脚本 a) 用touch命令创建一个文件:.../bin/bash 告诉shell使用什么程序解释脚本 #My first script ls -l .* 2.允许Shell执行它 chmod 755 my_script 3.执行

2.1K20

扫码

添加站长 进交流群

领取专属 10元无门槛券

手把手带您无忧上云

扫码加入开发者社群

相关资讯

热门标签

活动推荐

    运营活动

    活动名称
    广告关闭
    领券