bash的工作特性之命令执行状态返回值和命令行展开

bash特性之一:命令别名

将一个命令用其他名字来代替,可以用别名来简化操作。

获取当前用户可用的别名的定义:

~]#alias NAME=COMMAND

bash的特性之二:命令历史

shell进程会保存其会话中用户曾经执行过的命令;命令通过其“历史文件”来持久保存此前执行过的命令;每个用户都有其自己专用的历史文件;

HISTSIZEshell进程的缓冲区保留的历史命令的条数;

HISTFILESIZE:命令历史文件可保存的历史命令的条数;

默认均为1000;

bash的工作特性之命令执行状态返回值和命令行展开 

命令语法格式:

history [-c] [-d OFFSET] [n]

history -anrw [FILENAME]

history -ps VALUE [VALUE]

-c: 清空命令历史;

-d offset(偏移量):删除指定命令历史,offsethistory显示出来的命令数字

-r: 从文件读取命令历史至历史列表中;

-w:把历史列表中的命令追加至历史文件中;

history #:显示最近的#条命令;

控制命令历史的记录方式:

   环境变量:HISTCONTROL(/etc/profile配置文件中控制)

          ignoredups:忽略重复的命令,连续且相同方为“重复”

          ignorespace:忽略所有以空白开头的命令

          ignoreboth=以上两个之和

修改环境变量值得方法:export变量名=“值”

变量赋值:把赋值符号后面的数据存储于变量名指向的内存空间。

 

bash特性之三:快捷键

   ctrl+a:跳转至命令行行首

   ctrl+e:跳转至命令行行尾

   ctrl+u:删除行首至光标所在处之间的所有字符;

   ctrl+k:删除光标所在处至行尾的所有字符;

   ctrl+l:清屏,相当于clear

   ctcl+c:取消命令的执行

 

bash的特性之四:命令补全和路径补全

 

1.命令查找和补全机制:

bash执行命令

   内部命令:内部命令没有具体的二进制文件,而是有内核提供的。

   外部命令:bash根据PATH 环境变量定义的路径,自左而右在每个路径搜寻已给定命令命命名的文件,第一次找到即为要执行的命令。

    补全方法:给定开头的部分字符串如果能惟一标识某命令程序文件,则直接补全;

    不能惟一标识某命令程序文件,再击tab键一次,会给出列表;

2.路径补全

在给定起始路径下,以对应路径下的打头字串逐一匹配起始路径下每个文件:

TAB按键;

如果能惟一标识,则直接补全;

否则,再一次tab,给出列表;

3.命令行展开

~:自动展开为用户的家目录,或指定的用户的家目录;

{}:花括号展开。可承载一个以逗号分隔的路径列表,并能够将其展开为多个路径;

 

bash的特性之五:命令行展开

 

1)、命令行展开;

以某些bash能够解释的符号来代替命令中的某些参数。

~:展开为用户的目录;

例:切换至目录

 cd ~

~USERNAME:展开为指定用户的主目录

{}:可承载一个以逗号分隔的列表,并将其展开为多个路径;

例:在/tmp/d目录下创建f1,f2,f3三个文件

    touch /tmp/d/f{1,2,3}

    /tmp/{ab}=/tmp/a,/tmp/b

 

bash特性之六:命令的执行结果状态

    bash的基础特性之状态值返回:在bash中使用一个特殊的变量$?来保存上一个命令的执行状态结果:用法 ~]# echo $?

0表示成功,

1-255表示失败

bash的工作特性之命令执行状态返回值和命令行展开 

同样程序执行也有两类结果:

程序的返回值:程序的功能定义

程序的执行状态结果:程序执行完成后的状态

bash特性之七:变量

程序:指令+数据

数据:文件、变量;

变量:内存空间,有名称,名称即为变量名,对应的内存空间中的数据即为变量的值;

变量赋值:NAME=VALUE

=:赋值符号;

VALUE存储到NAME指向的内存空间中;

编程语言:

强类型:严格区分变量中的数据类型;

弱类型:不区分变量中存储的数据类型,统一为字符型;

bash:统统默认为字符型数据;变量无需事先声明;

变量替换:把变量引用符号出现的位置替换为其指向的内存空间中的数据;

bash变量种类:

本地变量:作用域为当前shell进程;不包括其子进程;

环境变量:使用域为当前shell进程及其子进程;

局部变量:

作用域:生效范围,也即可引用到的范围;

本地变量:

   变量赋值:NAME=VALUE

    变量引用:$NAME, ${NAME}

查看变量:set

撤销变量:unset NAME

注意:此处非为变量引用,因此不能使用$

所有的本地变量在shell进程终止时,会被自动撤销;

环境变量:

变量声明和赋值:

declare -x NAME[=VALUE]

export NAME[=VALUE]

引用方式:

${NAME}, $NAME

注意:bash内嵌了许多环境变量,名称为全大写字母,例如UIDHOMEPWDSHELL, PATH, HISTSIZE等等;

环境变量查看:

export, declare -x  ,env, printenv

撤销环境变量:

unset NAME

只读变量:常量

(1) declare -r NAME

(2) readonly NAME

不支持重新赋值,也不支持撤销操作;

bash的工作特性之命令执行状态返回值和命令行展开 

 

原创文章,作者:N24_云淡风轻,如若转载,请注明出处:http://www.178linux.com/57986

(0)
N24_云淡风轻N24_云淡风轻
上一篇 2016-11-06 18:37
下一篇 2016-11-06 18:52

相关推荐

  • mysql5.5.32多实例配置

    操作系统:CentOS release 6.7 (Final) 内核版本:2.6.32-573.el6.x86_64 mysql版本号:mysql-5.5.32 1)安装mysql所需的依赖包 # adduser mysql -s /sbin/nologin -M # mkdir -p&n…

    Linux干货 2016-12-05
  • bash的工作特性之命令执行状态返回值和命令行展开

    bash的工作特性之命令执行状态返回值和命令行展开 bash的工作特性之命令执行状态返回值和命令行展开 执行状态返回值 命令行展开 执行状态返回值     Linux下每一条命令或每一个进程执行完成会返回一个状态码. 0:成功执行 1-255:执行过程中出现异常或非正常退出 在Shell脚本中,最后…

    Linux干货 2016-11-05
  • FHS文件系统各目录功能

    前言:     文件系统是一种存储和组织计算机数据的方法,它使得对其访问和查找变得容易。linux的哲学是一切皆文件,linux系统中的一切包括设备文件,我们都能在linux的倒置树状文件系统中找到相对应的文件。所以清楚的明白根目录下的每个子目录包含什么样的文件是很有必要的。我们将以Filesystem Hierarchy Standar…

    Linux干货 2016-10-17
  • 文件权限

    小技巧 除root用户外其他用户将不能登录 touch /etc/nologin 或touch /run/nologin echo “system is maintaining”>> /etc/nologin 文件属性 文件的权限主要针对三类对象进行定义: owner: 属主, u 修改文件的属主: chown [OPTION]… […

    Linux干货 2016-08-08
  • grep、egrep正则表达式之初窥门径

    何谓正则表达式 正则表达式,又称正规表示法、常规表示法(Regular Expression,在代码中常简写为regex、regexp或RE),是一类字符所书写的模式,其中许多字符不表示其字面意义,而是表达控制或通配等功能。正则表达式使用单个字符串来描述、匹配一系列符合某个句法规则的字符串。在很多文本编辑器里,正则表达式通常被用来检索、替换那些符合某个模式的…

    2015-03-19
  • 【福利贴-招聘】- 高级运维工程师

    职位描述 岗位描述:1、负责业务应用系统的审核、部署、发布、监控、维护和优化;2、负责突发事件管理,问题跟踪与管理,保障系统24×7稳定运行;3、负责应用系统的性能分析与系统优化,不断提高系统运行效率;4、协调开发部门,配置管理,基础运维,更好提供服务。 职位要求:1、专科及以上学历,计算机或相关专业;2、能够独立安装配置及维护linux平台的各种服务,dh…

    Linux干货 2015-03-20

评论列表(1条)

  • 马哥教育
    马哥教育 2016-11-10 20:17

    总结的比较详细,注意下排版会更好~