1.bash 是GNU 计划中重要的工具软件之一,目前也是Linux distributions 的标准shell。其主要功能如下:

(1)命令记忆和历史功能,可以通过history查询,存储位置在~/.bash_history

(2)命令和文件补全功能,按tab键

(3)给命令取一个别名:alias

(4)工作控制、前景背景控制job control, foreground, background

(5)(程序化脚本: (shell scripts))

以前在DOS 底下需要程序语言才能写的东西,在Linux 底下使用简单的shell scripts 就
可以帮你达成

(6)通配符Wildcard,*就是其中一个

2.查询指令是否为Bash shell 的内建命令: type

type [-tpa] name
选项与参数:
:不加任何选项与参数时,type 会显示出 name 是外部指令还是 bash 内建指令
-t :当加入 -t 参数时,type 会将 name 以底下这些字眼显示出他的意义:
file :表示为外部指令;
alias :表示该指令为命令别名所设定的名称;
builtin :表示该指令为 bash 内建的指令功能;
-p :如果后面接的 name 为外部指令时,才会显示完整文件名;
-a :会由 PATH 变量定义的路径中,将所有含 name 的指令都列出来,包含 alias

3.命令较长,一行写不完时,可以使用\+Enter调到下一行继续输入

4.shell的变量功能

变量就是以一组文字或符号等,来取代一些设定或者是一串保留的数据!

(1)变量的取用与设定:echo $变量名, 变量设定规则, unset

(2)给变量赋值=

(3)变量的设定

变量的设定规则
1. 变量与变量内容以一个等号 = 来连结,如下所示:
myname=hui
2. 等号两边不能直接接空格符,如下所示为错误:
myname = hui 或 myname=hui bo
3. 变量名称只能是英文字母与数字,但是开头字符不能是数字,如下为错误:
2myname=hui
4. 变量内容若有空格符可使用双引号『"』或单引号『'』将变量内容结合起来,但
o 双引号内的特殊字符如 $ 等,可以保有原本的特性,如下所示:
『var="lang is $LANG"』则『echo $var』可得『lang is zh_TW.UTF-8』
o 单引号内的特殊字符则仅为一般字符 (纯文本),如下所示:
『var='lang is $LANG'』则『echo $var』可得『lang is $LANG』
5. 可用跳脱字符『 \ 』将特殊符号(如 [Enter], $, \, 空格符, '等)变成一般字符,如:
『myname=hui\ sai』
6. 在一串指令的执行中,还需要藉由其他额外的指令所提供的信息时,可以使用反单引号『`指令`』或 『$(指
令)』。特别注意,那个 ` 是键盘上方的数字键 1 左边那个按键,而不是单引号! 例如想要取得核心版本
的设定:
『version=$(uname -r)』再『echo $version』可得『3.10.0-229.el7.x86_64』
7. 若该变量为扩增变量内容时,则可用 "$变量名称" 或 ${变量} 累加内容,如下所示:
『PATH="$PATH":/home/bin』或『PATH=${PATH}:/home/bin』
8. 若该变量需要在其他子程序执行,则需要以 export 来使变量变成环境变量:
『export PATH』
9. 通常大写字符为系统默认变量,自行设定变量可以使用小写字符,方便判断 (纯粹依照使用者兴趣与嗜好) ;
10. 取消变量的方法为使用 unset :『unset 变量名称』例如取消 myname 的设定:
『unset myname』

什么是『子程序』呢?就是说,在我目前这个shell 的情况下,去启用另一个新的shell ,新的那个
shell 就是子程序啦!在一般的状态下,父程序的自定义变量是无法在子程序内使用的。但是透过
export 将变量变成环境变量后,就能够在子程序底下应用了

(4)进入到您目前核心的模块目录?cd /lib/modules/`uname -r`/kernel

(5)取消刚刚设定的 name 这个变量内容

(6)单引号与双引号的最大不同在于双引号仍然可以保有变量的内容,但单引号内仅能是一般字符 ,而不会有特殊符号

(7)查看内核版本uname -r

欢迎加入c和c++交流群:

最新文章

  1. SQL基本CRUD
  2. Struts2(六):ResultType
  3. POS管理系统之设备出库
  4. 使用Python操作Redis
  5. QWidget中嵌入win32 window(使用QWindow和QWidget::createWindowContainer)
  6. 《Clean Code》重点内容总结
  7. JS运算符的一些简单练习和应用
  8. Android 文件下载三种基本方式
  9. Supported method argument types Spring MVC
  10. python接口自动化(九)--python中字典和json的区别(详解)
  11. TensorFlow windows 安装(base anaconda)
  12. Kubernetes---pod--重启策略
  13. 微信小程序 初步认识一(微信运动步数)
  14. vue.js实战——计算属性
  15. 循环TRUNCATE表,再ENABLE约束索引等
  16. php 安装gzip
  17. [Robot Framework] Robot Framework里面的变量怎么知道是在哪里定义的?
  18. 转:VMWare服务器虚拟化--转自CSDN
  19. mysql的select查询语句
  20. python 多线程中的同步锁 Lock Rlock Semaphore Event Conditio

热门文章

  1. Bert系列(三)——源码解读之Pre-train
  2. pytorch更新
  3. zoj 2338 The Towers of Hanoi Revisited
  4. [转]SpringBoot整合Swagger2以及生产环境的安全问题处理
  5. 怎么让FOXMAIL关了以后在右下角自动收取邮件
  6. Vue 组件切换
  7. navicat primium 12免安装版的解决方式
  8. Django入门5--URL传递参数
  9. 2018-2-13-win10-UWP-ListView-模仿开始菜单
  10. Codeforces Round #561 (Div. 2)