![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Linux:shell脚本语言
文章平均质量分 67
艾-小小雨
再长的路,一步步也能走完,再短的路,不迈开双脚也无法到达。
展开
-
bash扩展
扩张是它已经被分成话后在命令行上执行。有七种扩展:brace expansion, tilde expansion, parameter and variable expansion, command substitution, arithmetic expansion, word splitting, pathname expansion. 扩展的顺序是:括号扩展;波浪线扩翻译 2016-05-23 22:18:37 · 416 阅读 · 0 评论 -
bash文本输入
Numeric Arguments digit-argument (M-0, M-1, …, M–) 添加数字给参数积累。M–开始为负数。 universal-argument 这是另一种方式来指定一个参数。如果这个命令后面跟着一个或多个数字,任选与负号,这些数字定义了参数。如果命令后跟数字,再次执行通用参数的结束数字参数,否则忽略。作为一个特殊的情况下,如果该命令之后紧接着的字符既不是数翻译 2016-05-28 18:37:28 · 850 阅读 · 0 评论 -
bash 历史扩展
Event Designators 一个事件标志是在历史列表中的命令行条目的参考。除非引用是绝对的,事件是相对于在历史列表中的当前位置。 ! 启动历史替换 !n 请参阅命令n行。 !-n 参照当前命令减去ñ。 !! 请参考前面的命令。 !string 请参阅开始用绳子历史记录列翻译 2016-05-28 19:03:11 · 430 阅读 · 0 评论 -
bash shell内置命令
continue [n] 恢复封闭的下一次迭代,for,while,until, 或select.declare [-aAfFgilnrtux] [-p] [name[=value] …] typeset [-aAfFgilnrtux] [-p] [name[=value] …] 声明变量和/或给他们的属性。-a 每个名称是索引数组变量. -A 每个名称是一个关联数组变量翻译 2016-05-29 01:09:08 · 1304 阅读 · 0 评论 -
欢迎使用CSDN-markdown编辑器
欢迎使用Markdown编辑器写博客本Markdown编辑器使用StackEdit修改而来,用它写博客,将会带来全新的体验哦:Markdown和扩展Markdown简洁的语法代码块高亮图片链接和图片上传LaTex数学公式UML序列图和流程图离线写博客导入导出Markdown文件丰富的快捷键快捷键加粗 Ctrl + B 斜体 Ctrl + I 引用 Ctrl翻译 2016-05-16 20:38:47 · 202 阅读 · 0 评论 -
bash shell简述
用法: bash [options] [command_string | file]描述: Bash是一个sh兼容的命令语言解释器,执行从标准输入或从文件中读取命令。 参数配置: -c 如果有-c选项,那么命令是从第一个非选项参数command_string读取。如果command_string后有争论,它们被分配到的位置参数,以$ 0起始。-i 如果-i选项,shell是交互翻译 2016-05-16 20:44:52 · 382 阅读 · 0 评论 -
bash 调用
一个交互的shell,是一个启动时没有指定非选项参数,并且没有-c选项,其标准输入和错误都连接到了终端(在isatty(3)确定),或者启动时使用-i选项。PS1设置和$ - 包括我如果bash是交互的,允许一个shell脚本或者一个启动文件来测试这种状态。下面的段落描述的bash如何执行它的启动文件。如果任何文件的存在,但不能被读取,bash报错。作为下在扩展部分波浪线扩展如下所述波浪线在文件名扩翻译 2016-05-16 21:22:50 · 658 阅读 · 0 评论 -
bash 语法篇
简单的命令 一个简单的命令是可选的变量赋值其次是空格分隔字和重定向,并通过控制操作符的序列。第一个字指定要执行的命令,以及作为参数的零传递。其余的字作为参数传递给调用命令通过。一个简单的命令的返回值是它的退出状态,或是128+ N如果命令是由信号n终止。管道 管道由一个或多个命令 | 或 |&.管道语法格式: [time [-p]] [ ! ] command [ [|⎪|&]翻译 2016-05-16 21:53:00 · 424 阅读 · 0 评论 -
bash 复合命令
复合命令是以下中的一个。在大多数情况下,在一个命令的描述的列表可以从命令的其余部分由一个或多个换行符来分离,并可以随后代替分号的换行。(list) list是在子shell环境中执行影响。shell环境变量赋值,并内建命令在命令完成后不继续有效。返回状态是列表的退出状态。{list;} list是当前shell环境中执行。list必须以新行或分号结束。这被称为一组命令。返回状态是list的退出状态翻译 2016-05-17 20:38:36 · 812 阅读 · 0 评论 -
bash引号使用
一个未被引用的反斜杠(\)是转义字符。它保留后面的下一个字符的字面意义,<换行符>除外。如果出现\ <换行符>对,反斜杠本身不报价,该\ <新行>被视为续行。在单引号字符放在保留引号内的每个字符的字面意义。单引号不能包含在单引号,即使前面加上了反斜杠。在双引号字符放在保留了引号中的所有字符的字面意义,$之外,,\ 双引号内的保留其特殊的意义。反斜杠后跟时只保留它的特殊含义 通过下列字符之一:$,`翻译 2016-05-18 20:34:06 · 528 阅读 · 0 评论 -
bash参数
一个参数是一个存储值的实体。它可以是一个名称,号码,或根据特殊参数下面列出的特殊字符中的一个。变量是一个名称代表的参数。一个变量有值和零个或多个属性。属性是使用内建命令declare命令分配.如果已分配一个值的参数设置。空字符串是一个有效的值。一旦一个变量被设置,它可能只使用未设置内置命令取消设置.name=[value] 不执行路径扩展。赋值语句也可能出现作为参数传递给别名,声明,排版,输出,只翻译 2016-05-18 20:52:48 · 1037 阅读 · 0 评论 -
bash特殊参数
That is, “∗"isequivalentto"*" is equivalent to "1c2c…”,wherecisthefirstcharacterofthevalueoftheIFSvariable.@“2c…”, where c is the first character of the value of the IFS variable. @ “@”等同于“1”“ 1”“翻译 2016-05-18 21:09:05 · 399 阅读 · 0 评论 -
bash shell一些环境变量
BASH 扩展到用于调用bash实例的完整文件名。BASHOPTS 启用shlell选项的冒号分隔的列表。列表中的每个词都是-s选项shopt内建命令的有效参数。出现在BASHOPTS的选项那些禁用了javascript报告上。如果这个变量在环境中当bash启动时,列表中的每个外壳选项将读取任何启动文件之前启用。此变量是只读。BASHPID 扩展为当前bash进程的进程ID。这不同于$$在某些翻译 2016-05-22 20:12:14 · 1135 阅读 · 0 评论 -
bash 读取行
这是处理使用交互式shell时,除非–noediting选项在shell调用给读取输入的库。使用-e选项,内建读取时行编辑也被使用。默认情况下,行编辑命令类似Emacs的。一个VI风格的行编辑界面也可用。行编辑可以在任何时候使用-o Emacs或VI-o选项,内置集合(参见下面的shell内建命令)启用。 要关闭shell运行后行编辑,使用+ O Emacs或+ O VI选项,内置集翻译 2016-05-27 21:04:59 · 1097 阅读 · 0 评论 -
bash 提示
\a 铃声 \d 日期 \D{format} 指定日期格式 \e 空格键 \h 主机名 \H 主机名 \j 当前作业被shell管理 \l shell的终端设备名的基本名 \n 新行 \r 回车 \s shell的名称,$ 0的基本部分(以下最后的斜线部分) \t 显示当时时间HH:MM:SS格式(24小时翻译 2016-05-27 20:40:56 · 308 阅读 · 0 评论 -
bash 重定向
当执行命令之前,它的输入和输出可以使用由shell解释的特殊符号进行重定向。重定向允许命令“文件句柄被复制,打开,关闭,作出涉及到不同的文件,并可以更改命令读取和写入文件。重定向也可用于修改的文件句柄在当前shell执行环境。下列重定向操作符可能先于或一个简单的命令中的任何地方出现或可能遵循的命令。重定向在他们出现,从左至右的顺序处理。每个可由一个文件描述符号码前面重定向可以代替由表单{VARNAM转载 2016-05-25 20:23:27 · 499 阅读 · 0 评论 -
bash 起别名
别名允许一个字符串被取代为一个字时,它被用作一个简单的命令的第一个字。shell维护一个可以设置和取消的别名,别名内建命令别名的列表(参见下面的shell内建命令)。每个简单命令的第一个字,如果未加引号,是检查,看它是否有一个别名。如果是这样,这个词被别名的文本替换。字符/,$,`,和=以及任何shell元字符上面列出引用的字符可能不会出现在一个别名。其置换文本可以包含任何有效的shell输入,其中翻译 2016-05-25 21:17:34 · 830 阅读 · 0 评论 -
bash 函数
一个shell函数,如前面的SHELL语法描述定义,存储了一系列稍后执行的命令。当一个壳函数名被用作一个简单的命令的名称,则执行与该功能名称相关联的命令的列表。函数在当前shell的上下文中执行;没有创建新的进程来解释它们(用shell脚本的执行对比这一点)。当执行功能,函数的自变量成为其执行过程中的位置参数。特殊参数#被更新以反映这个变化。特殊参数0保持不变。所述FUNCNAME变量的第一个元素,翻译 2016-05-26 21:08:23 · 365 阅读 · 0 评论 -
bash 算术运算符优先级
shell允许算术表达式进行评估,在某些情况下. 评估在固定宽度的整数完成,不检查是否溢出,尽管除以0被捕获并标记为错误。运营商和他们的优先级,关联性和价值观是相同的C语言。下面的运算符列表分为相等的优先级运营商的水平。水平列在优先级递减的顺序。id++ id– variable post-increment and post-decrement ++翻译 2016-05-26 21:18:09 · 2672 阅读 · 0 评论 -
bash 条件表达式
条件表达式是由[[复合命令以及test和[内建命令来测试文件属性,进行字符串和算术比较使用。表达式从以下一元或二进制初选形成。如果有任何文件参数初选之一,是格式为/ dev/ FD/ N,则文件描述符n进行检查。如果文件参数初选之一,/dev/stdin, /dev/stdout, or /dev/stderr,文件描述符0,1,w2当与[,<和>运算符字典顺序排序使用当前语言环境中使用。 ASCI翻译 2016-05-26 21:23:42 · 1013 阅读 · 0 评论 -
bash简单命令扩展
当执行简单的命令,该壳将执行以下的扩展,分配和重新导向,从左至右。 1 解析器已标记为变量赋值(那些命令名前)和重定向的话被保存以便以后处理。 2 不属于变量赋值或重定向的词被扩展。如果任何词保持膨胀后,第一个字被取为命令的名称和剩余的词是参数。 3 作为下REDIRECTION上述执行重定向。 4 每个变量赋值=后面的文本经过波浪线扩展,参数扩展,命令替换,算术扩展和引用删除被分配到变量之转载 2016-05-26 22:08:16 · 433 阅读 · 0 评论 -
bash命令执行
命令被拆分为词之后,如果结果是一个简单的命令和可选的参数列表中,采取如下措施。 如果命令名中没有斜杠,shell试图找到它。如果存在该名称的shell函数,如函数上述的函数被调用。如果名称不匹配功能,在shell内建命令的列表,它外壳搜索。如果发现匹配,即内建被调用。 如果名称既不是shell函数也不是一个内建命令,并且没有包含斜杠,bash的搜索路径中的每个元素包含该名称的可执行文件的目录。翻译 2016-05-26 22:14:23 · 1020 阅读 · 0 评论 -
bash 命令执行环境
shell具有的执行环境,它由以下组成: *打开的文件在调用shell继承,通过提供给exec内置重定向改性 * 当前工作目录被设置成cd, pushd 或popd,或继承shell 调用 * 文件创建模式掩码通过的umask设置或从shell的父继承*当前traps被设置trap * 由变量赋值或设置在环境中设置或继承shell的父shell参数 * 在执行过程中定义或从shell的父在翻译 2016-05-27 19:14:43 · 1380 阅读 · 0 评论 -
bash 环境
当程序被调用它被赋予的字符串称为环境的阵列。这是名称 - 值对的列表形式的名称=值。shell提供了多种方式来操作环境。在调用时,shell扫描自身的环境,并为找到的每个名称的参数,自动将其标记为出口到子进程。执行的命令继承的环境。出口和声明-x命令允许参数和功能被加入并从环境中删除。任何执行的命令继承的环境包含shell的初始环境,其值可以在shell进行修改,由少unset命令删除任何对,加上通翻译 2016-05-27 19:22:00 · 308 阅读 · 0 评论 -
bash 退出状态值
已执行命令的退出状态是由waitpid函数系统调用或等效函数的返回值。退出状态0和255之间落下,不过,如下所述,外壳可能会专门使用高于125的值。从壳内建和化合物命令退出状态也限于此range.Under某些情况下,壳将使用特殊的值,以指示特定的故障模式。从shell的目的,这与零状态退出命令成功。零退出状态表示成功。非零退出状态表示失败。当命令上致命的信号N终止时,bash使用作为退出状态的12翻译 2016-05-27 19:29:54 · 1161 阅读 · 0 评论 -
bash 信号
当bash是互动的,在没有任何陷阱,它忽略SIGTERM(这样杀0不能杀死一个交互式的shell)和SIGINT被捕获并处理(从而使内建命令wait是可中断)。在所有情况下,bash忽略SIGQUIT.如果作业控制是有效,bash忽略SIGTTIN,SIGTTOU,和SIGTSTP.bash所运行非内建命令必须设置为从父shell继承的值信号处理程序。当作业控制不生效,异步命令忽略SIGINT和SI翻译 2016-05-27 19:36:57 · 345 阅读 · 0 评论 -
bash 作业控制
作业控制是指以选择性地停止(暂停)的进程的执行和继续的能力(恢复)在稍后的点其执行。用户通常通过由操作系统内核的终端驱动和bash共同提供一个交互式接口使用这个设施。shell与相关联的每个管道的工作。它保持当前正在执行的任务,这可与作业命令中列出的表。当bash异步启动工作(在后台),它打印一条线,看起来像: [1] 25647 表明这个工作是作业号1,而且在与该作业相关联的管道的最后一个进程翻译 2016-05-27 19:44:54 · 546 阅读 · 0 评论 -
bash 数组
Bash提供一维标和关联数组变量。任何变量也可以用作索引数组;内建命令declare将明确地声明数组。有上数组的大小,也没有成员索引或者连续赋值的要求没有上限。索引数组使用整数(包括算术表达式)引用并zerobased;关联数组使用任意的字符串引用。如果任何变量被分配到使用的语法名称[下标] =值的索引数组被自动创建。下标被视为一个算术表达式的值必须为数字。显式声明索引数组,使用声明-a名(参见下面翻译 2016-05-23 21:51:14 · 280 阅读 · 0 评论