shell
文章平均质量分 69
int8
这个作者很懒,什么都没留下…
展开
-
Shell脚本执行过程
一、#!有什么用脚本程序几乎都开始于#! 符号。这个符号叫做声明解释器。#! 就是用来声明本文件交给哪个解释器进行解释的。比如我们写bash脚本,一般声明的方法是 #!/bin/bash或 #!/bin/sh。如果写的是一个Python脚本,就用 #!/usr/bin/python。大多数脚本语言都是将#后面出现的字符当作是注释,在脚本中并不起作用。这个 #! 和这个注释的规则不冲突么?对脚本第一行的 #! 解析,其实是内核做的,不是脚本解释器做的。为什么 #! 一定要写在第一行的前两个字符,因为原创 2023-03-02 18:40:25 · 1268 阅读 · 1 评论 -
Shell特殊字符
shell语言,一些字符是有特殊意义的。根据作用分为几种特殊符号一、空白shell调用函数,不像c语言那样用把参数放到括号里,用逗号分隔。而是用空格作为参数之间,参数与函数名之间的分隔符。换行符也是特殊字符。换行符用作一条命令与另一条命令的分隔符。二、{}{string1,string2,...} 逗号格式会替换成多个字符串$ echo d{a,e,i,u,o}gdag deg dig dug dog$ echo {cat,dog}cat dog大括号可以嵌套。$ echo {原创 2023-03-01 18:18:10 · 597 阅读 · 0 评论 -
bc命令
高精度运算工具bash内置了对整数四则运算的支持,但是并不支持浮点运算,而bc命令可以很方便的进行浮点运算。bc甚至可以称得上是一种编程语言了,它支持变量、数组、输入输出、分支结构、循环结构、函数等基本的编程元素一、语法bc [选项] [参数]二、选项-i:强制进入交互式模式;-l:定义使用的标准数学库;-w:对POSIX bc的扩展给出警告信息;-q:不打印正常的GNU bc环境信息;-v:显示指令版本信息;-h:显示指令的帮助信息。三、参数文件:包含计算任务的文件。原创 2023-03-01 12:53:07 · 596 阅读 · 0 评论 -
Shell管道
一、管道是什么英文是pipe。把一个命令的标准输出作为下一个命令的标准输入,以这种方式连接的两个或者多个命令就形成了管道使用竖线|连接多个命令,称为管道符。语法格式如下:command1 | command2 [ | commandN... ]command1的标准输出作为command2的输入这里需要注意,command1必须有正确输出,而command2必须可以接受标准输入作为参数。而且command2只能处理command1的正确输出结果,不能处理command1的错误信息。二、原创 2023-02-28 19:26:04 · 787 阅读 · 0 评论 -
Shell中的IFS
IFS是shell的内置变量,IFS是一个字符串,里面的每一个字符都会用来作为分隔符进行单词分割。IFS变量只在当前shell起作用。一、对$*的影响先做参数替换把$*替换成参数列表。相当于args[]然后下面分两种情况:(1)当$*不在双引号里面时,要做单词分割,把args的每个元素继续按IFS分割成多个单词,比如$1可能分成两个单词,$2可能分成三个单词(2)当$*在双引号里面时,跳过单词分割,直接把args每个元素以IFS每一个字符连接成单个单词,即"$1c$2c$3"。c是IFS每一个原创 2023-02-27 15:35:01 · 3262 阅读 · 0 评论 -
printf命令
这是一条内置命令。格式化并标准输出printf命令模仿C程序库(library)里的printf() 程序。printf由POSIX标准所定义,因此使用printf的脚本比使用echo移植性好。一、语法:printf [-v var] format [arguments]二、选项-v var:将结果输出到变量var中而不是输出到标准输出。三、参数format:输出格式,是个字符串。此字符串包含字面字符以及格式声明,格式声明是特殊的占位符,用来描述如何显示相应的参数。argume原创 2023-02-27 12:21:46 · 541 阅读 · 0 评论 -
read命令
read是一条shell内置命令。read 从标准输入读取单行数据。这个命令可以用来读取键盘输入,当使用重定向的时候,可以读取文件中的一行数据。一、语法格式read [-ers] [-a aname] [-d delim] [-i text] [-n nchars] [-N nchars] [-p prompt] [-t timeout] [-u fd] [name ...]二、选项-a 后跟一个变量,该变量会被认为是个数组,然后给其赋值,默认是以空格为分割符。-d 后面跟一个标志符,其实只原创 2023-02-26 19:23:40 · 1023 阅读 · 0 评论 -
echo命令
这是一条内置命令。输出指定的字符串一、语法echo[选项][参数]二、选项-e:激活转义字符。使用-e选项时,若字符串中出现以下字符,则特别加以处理,而不会将它当成一般文字输出:\a 发出警告声;\b 删除前一个字符;\c 不产生进一步输出 (c后面的字符不会输出);\f 换行但光标仍旧停留在原来的位置;\n 换行且光标移至行首;\r 光标移至行首,但不换行;\t 插入tab;\v 与\f相同;\\插入\字符;\nnn 插入 \nnn(八进制)所代表的ASCII字符;\原创 2023-02-26 19:11:14 · 2113 阅读 · 0 评论 -
shell注释
Bash提供了两种类型注释:1.单行注释2.多行注释。原创 2023-02-25 19:09:20 · 733 阅读 · 0 评论 -
Shell输入输出重定向
一、文件描述符英文是file descriptor简称fd。文件描述符是一个非负整数。它是一个索引值,指向进程打开的文件。Linux程序在执行任何形式的 I/O 操作时,都是在读取或者写入一个文件描述符。每个文件描述符会与一个打开的文件相对应不同的文件描述符也可能指向同一个文件在Linux中,每一个进程打开时都会自动获取3个文件描述符0、1和2,分别表示标准输入、标准输出、和标准错误,如果要打开其他文件,则文件描述符必须从3开始标识。文件描述符 文件名 类型 指向硬件0 /dev/std原创 2023-02-25 19:06:24 · 3647 阅读 · 0 评论 -
Shell文件包含
和其他语言一样,Shell 也可以包含外部脚本。这样可以很方便的封装一些公用的代码作为一个独立的文件。一、语法格式Shell 文件包含的语法格式如下:. filename # 注意点号(.)和文件名中间有一空格或source filename在当前bash环境下读取并执行filename中的命令。这个命令其实只是简单地读取脚本里面的语句依次在当前shell里面执行,没有建立新的子shell。那么脚本里面所有新建、改变变量的语句都会保存在当前shell里面。二、实例创建两个 shell原创 2023-02-25 19:04:17 · 789 阅读 · 1 评论 -
Shell流程控制
shell的流程控制不可为空一、if语句(一)ifif 语句语法格式:if condition; then commandfi写成一行:if [ $(ps -ef | grep -c "ssh") -gt 1 ]; then echo "true"; fi末尾的 fi 就是 if 倒过来(二)if elseif else 语法格式:if condition; then commandelse commandfi(三)if else-if el原创 2023-02-25 19:03:45 · 604 阅读 · 0 评论 -
shell表达式
一、数字运算(一)整数运算1.普通运算(())是内建的专门用来整数运算的命令。取用运算结果用$(())变量不需要加$,比如((a+b))注意:运算结果与命令返回值不是一回事。如果最后计算结果是0,命令返回值是1;否则是0。两者相反。也就是说,如果计算结果为0,命令其实算执行失败。举例#!/bin/bashset -xecho $((2+3)) #((a=2+3))echo $((2-3)) #((a=2-3))echo $((2*3)) #((a=2原创 2023-02-25 18:36:59 · 376 阅读 · 0 评论 -
Shell函数
shell支持自定义函数一、定义函数(一)语法格式function funname { action [return n]}或者funname() { action [return n]}说明:可以加或不加return语句。如果不加,将以最后一条命令运行结果,作为返回值。return后跟数值n(0-255)(二)举例1.#!/bin/bash# author:菜鸟教程# url:www.runoob.comdemoFun(){ ec原创 2023-02-25 18:32:24 · 539 阅读 · 0 评论 -
shell命令
一、shell是什么shell有两种意思:1.一个应用程序,这个程序提供了一个交互界面,用户通过交互界面输入指令,然后这个应用程序解释执行这些指令代码,继而访问系统。相当于中间人、解释器。2.一种编程语言,用户在shell应用程序中输入的指令代码,就是要用这种语言编写。用这种语言编写的代码也叫做shell脚本。shell应用程序与shell编程语言是一一对应的。二、shell种类这里shell指的是应用程序。有多种shell:1.Thompson shell(sh):原创 2022-12-01 17:30:11 · 470 阅读 · 0 评论 -
Shell变量
一、变量分类根据作用域分三种(一)只在函数内有效,叫局部变量(二)只在当前shell进程中有效,叫做全局变量(三)在当前shell进程与子进程中都有效,叫做环境变量shell进程与子进程打开一个Shell窗口就创建了一个Shell进程,打开多个Shell窗口就创建了多个Shell进程,每个Shell进程都是独立的,拥有不同的进程ID。创建Shell子进程最简单的方式是运行bash命令。通过exit命令可以一层一层地退出Shell。根据变量类型分:(一)字符串。shell变量默认都是字符原创 2023-02-25 18:25:40 · 685 阅读 · 1 评论 -
根据条件删掉文本行末尾换行符
什么awk,sed,通通没用。最好用的还是echo -n。原创 2023-02-24 11:14:38 · 96 阅读 · 0 评论