Linux学习笔记(六)Bash Shell

 

1.用户通过Shell与核心(kernel)沟通。计算机自里向外依次是:硬件,核心,Shell,用户

 

2.KDE,GNOME之类的图形操作界面也可以视作广义的Shell

 

3.为了与自定义变量区别,环境变量通常以大写字母来表示,如PATH,MAIL

 

4.变量就是以一组文字或符号,来替换一些设置或是一串保留的数据

 

5.可以用echo命令显示变量,获取变量内容要前加$,如

    echo $MAIL

 

6.变量赋值

    myname=tae

  等号左右不能有空格

 

7.对于含空格的赋值,采用双引号,如下

    name="how are you"

  单引号类似,区别在于:双引号仍然可以保持变量的内容,但单引号内只能是一般字符

 

8.若追加变量内容,需用到双引号和$,如下

    PATH="$PATH":/home

  即在PATH环境变量内容中追加了:/home

 

9.设置变量的好处:

  1)类似于别名,譬如

       name=/home/tae/work/vim

     则

       cd $name

     等价于

       cd /home/tae/work/vim

  2)脚本中方便维护,类似于C中的宏#define

 

10.本次登录所进行的变量设置,如果没有更改设置文件,那么这次设置的变量在下次登录时将被取消。所以如果想要变量每次都能在登录时自动设置好,就必须将设置写入登录时加载的设置文件,用alias设置的别名也一样

 

11.自定义变量与环境变量的区别在于:自定义变量不能存在于别的bash程序(即子程序)中

 

12.export [自定义变量]:将自定义变量转换为环境变量,使得其可以存在于子程序中

   因此,在两个脚本文件(.sh)间传递变量时,需要使用export命令

 

13.上面提到的变量赋值都是通过=在命令行里赋值,另外一种方法使用read命令交互式赋值(类似于scanf)

     read [-pt] [要赋值的变量名]

   -p后跟提示符字符串,-t后跟等待接收的秒数

 

14.declare [-aixr] [变量名]

   声明变量的类型和属性

   -a:定义为数组

   -i:定义为整型

   -x:定义为环境变量,类似于export

   -r:设置为只读,不能更改,也不能取消设置(unset)

 

15.引用数组变量方式,如

     ${ary[0]}

 

16.可以使用env命令或export命令查看环境变量

 

17.各环境变量意义如下:

  HOME:家目录,即~

  SHELL:当前环境使用的shell程序,默认为/bin/bash

  PATH:执行文件的搜索路径,目录间以:分隔

 

18.bash配置文件(设置PATH,alias)是~/.bashrc

  更改完配置文件后,可用命令

    source ~/.bashrc

  使配置立刻生效

  否则,只能logout后重新login到bash内使之生效

 

19.数据流重导向:”将某个命令执行后应该要出现在屏幕上的数据,传输到其他地方“或”将原本需要由键盘输入的数据,通过文件来读入“

   传送命令如下:

     标准输入:使用<或<<

     标准输出:使用>或>>

     标准错误输出:使用2>或2>>

   >与>>的区别在于:>是将文件清空后再输出,而>>是累加输出

   如果不要输出信息,可将数据输出到/dev/null中,这是个相当于”黑洞“的垃圾桶

 

20.命令执行的条件判断

   ;可以一次执行多个命令,如

     sync; sync; shutdown -h now

   &&表示若前一个命令执行成功,则执行后一个命令,如

     ls /tmp && touch /tmp/test

   ||表示若前一个命令执行失败,则执行后一个命令,如

     ls /tmp/test || touch /tmp/test

   进行分叉判断时,&&必须在||的前面,即

     command1 && command2 || command3

 

21.

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值