Linux学习笔记(5)----shell默认的版本bash及变量的设置

shell

用鸟哥的话来说,只要有操作系统就有shell.
首先,认识从应用程序到硬件是如何过度的:
应用程序 -> {系统调用,内核(Kernel)}(操作系统) -> 硬件
应用程序处于最外层,这一层就是shell

shell 的功能是提供用户操作系统的一个接口,用来调用其他软件.许多命令如:man , chmod , chown , vi , fdisk , mkfs都是独立的应用程序,shell执行这些命令来调用内核运行所需要的工作.


shell有多种版本,在linux下主要是使用” Bourne Again Shell(简称bash)

我们可以在 /etc/shells 这个文件中查看Linux下可以支持的shell版本,鸟哥说当我们登陆的时候系统就会根据/etc/passwd 这个文件获取默认的shell,接着我们就可以依据上面的命令执行方式操作shell.
注意有些特殊用户需要的shell并不是bash,比如系统帐号bin

shell的变量

学过编程的孩子肯定知道变量的定义,在shell命令中,我们同样可以手动设置变量和输出变量的值.
设置变量的格式是 : 变量=值 (注意等号两边不能直接有空格,变量名称只能英文和数字而且开头不能为数字)
输出变量的格式为 : echo $变量名
这样说太过抽象我们看个例子:
这里写图片描述
我们定义了一个变量name,值dddh,并且输出它.

  • 这里我们要特别注意下双引号单引号的区别:
    双引号会保留特殊字符原本特性,单引号里面表示纯文本.
    如图:
    这里写图片描述
    双引号里面 $test 表示 test 的值,单引号里面表示就是字符串 $test

如果有时候我们有强迫症的….必须以双引号”来命名的可以用 \ , 作为转义字符.
如图:
这里写图片描述
\”表示把双引号作为变量名,所以t3的值是:
‘ab_c”
还有一些特殊字符,空格,单引号也需要转义字符,如图:
这里写图片描述

如果空格没有加转义,会报命令未找到错误.
上面我们分别转义了 ’ ,空格和 ” ,所以结果t3为: 单引号ab c”_

  • 变量名字的累加
    比如我们要在原来的某个长命变量加上一些字符,我们如果按前面的设置方式,必须重新打出名字,未必太过麻烦.
    所以我们可以用下面的添加方法.
    这里写图片描述
    有两种方法 t3=”$t3”+添加的内容
    或者是t3=${t3}+添加的内容
设置常用的变量可以大大提高效率.

比如我们如果经常操作某个文件,我们可以把文件的路径存在变量address中,下次跳转直接 cd $address 简单粗暴,方便快捷.
另外注意在这个shell我们叫做父进程,打开一个新的shell就是子进程,一般情况, 父进程定义的变量无法在子进程使用.这里最好把address设置为环境变量,让你可以在其它子程序中执行,这里用export+变量,即 export address
如果想取消变量设置只需要 unset address 即可.

参考文献<鸟哥的Linux私房菜>第11章 P298-303

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值