Bash技巧:使用 set 内置命令帮助调试 shell 脚本 霜鱼片发布于 2020-02-03   在 bash 中,可以使用 set 内置命令设置和查看 shell 的属性.这些属性会影响 shell 的不同行为.下面对一些常用的属性进行说明. set 命令 查看 help set 对 set 命令的说明如下: set: set [-abefhkmnptuvxBCHP] [-o option-name] [--] [arg ...]Change the value of shell att…
本文解释bash内置命令的特殊性.前台.后台任务的"本质",以及前.后台任务和bash进程.终端的关系.网上没类似的资料,所以都是自己的感悟和总结,如有错误,120分的期待盼请指正. 因为要详细分析每一个涉及到的内容,我用了很多示例,所以结论比较分散.因此在文章的结尾,我将这些结论大概做了个总结. 1.引子:一个示例 首先通过一个示例做个引子. 当直接在当前bash环境下执行一个普通命令,这个普通命令的进程会挂在当前bash进程之下(即父进程为当前bash进程). 例如: # 在窗口1…
Bash内置命令exec可以替换当前程序而不需要启动一个新的进程,可以改变标准输入和输出而不需要启动一个新的子进程.如果文件用exec打开,read命令就会把文件指针每次指向下一行直到文件的末尾,如果要重新从文件开始读取,则必须把文件关闭再重新打开. 1.替换当前shell,执行某个命令,命令终止,shell也就终止了$exec ls 2.打开文件作为当前shell的标准输入$exec <file_name 3.打开文件作为当前shell的标准输出$exec >file_name 4.打开文件…
Bash有很多内置命令,因为这些命令是内置的,因此bash不需要在磁盘上为它们定位,执行速度更快. 1)列出所有内置命令列表$enable 2)关闭内置命令test$enable -n test 3)打开内置命令test$enable test 4)执行内置命令$builtin test 例子:定义函数cd取代内置cd命令function cd { builtin cd $1; echo $PWD; } 特殊内置命令builtin用于执行内置命令由于bash会优先执行函数,而不是内置命令,因此将…
bash提供了两个内置命令:readarray和mapfile,它们是同义词.它们的作用是从标准输入读取一行行的数据,然后每一行都赋值给一个数组的各元素.显然,在shell编程中更常用的是从文件.从管道读取,不过也可以从文件描述符中读取数据. 需要先说明的是,shell并不像其它专门的编程语言对数组.列表提供了大量的操作工具,反而直接操作文本文件更为常见(sed.awk等),所以mapfile用的并不多. 1.语法 mapfile [OPTIONS] ARRAY readarray [OPTIO…
man cd  -->查询不到,所以会提示bash的内置命令 . alias bg bind break builtin caller cd command compgen complete compopt continue declare dirs disown echo enable eval exec exit export false fc fg getopts hash help history jobs kill let local logout mapfile popd print…
前言 Shell有很多内置在其源代码中的命令.由于命令是内置的,所以Shell不必到磁盘上搜索它们.内置命令执行速度更快,不同的Shell内置命令有所不同. 如何查找内置命令 之前查了好久怎么收索内置命令的方法,今天在看type命令的时候,发现man手册里面就有 执行man type,有一段就告诉你内置命令都有啥了 BASH BUILTIN COMMANDS Unless otherwise noted, each builtin command documented in this secti…
bash shell 的内置命令 let 可以进行整型数的数学运算. #! /bin/bash--let c=a+b--…
bash shell 的内置命令 let 可以进行整型数的数学运算. #! /bin/bash - - let c=a+b - -…
主要Shell内置命令 Shell有很多内置在其源代码中的命令.这些命令是内置的,所以Shell不必到磁盘上搜索它们,执行速度因此加快.不同的Shell内置命令有所不同. A.2.1 bash内置命令 .:执行当前进程环境中的程序.同source. . file:dot命令从文件file中读取命令并执行. : 空操作,返回退出状态0. alias:显示和创建已有命令的别名. bg:把作业放到后台. bind:显示当前关键字与函数的绑定情况,或将关键字与readline函数或宏进行绑定. brea…