Linux入门篇(五)——Shell(一)
这一系列的Linux入门都是本人在《鸟哥的Linux私房菜》的基础上总结的基本内容,主要是记录下自己的学习过程,也方便大家简要的了解
Linux Distribution是Ubuntu而不是书本上推荐的CentOS,建议装双系统,不要使用虚拟机。
代码在github上:Linuxpractice
其他内容:
Linux入门篇(一)——基本命令
Linux入门篇(二)——文件
Linux入门篇(三)——文件与目录
Linux入门篇(四)——Vim的使用与Bash
Shell
一、shell的变量功能
- 变量的显示 $ echo
- 变量的修改 $ 变量名=变量值
- 环境变量功能: $ env 可以列举出当前shell环境下所有的环境变量。
环境变量的举例:
- HOME:代表主文件夹
- SHELL:目前环境代表的shell程序
- HISTSIZE:可纪录的历史命令的条数
- MAIL:读取的邮件文件
- PATH:执行文件查询路径
- LANG:语系数据
- RANDOM:随机数变量
变量的有效范围:一般情况下,父进程的自定义变量无法在子进程内使用,除非通过export将其变为环境变量,否则就是自定义变量。(与内存分配的记忆块有关)
- read 读取来自键盘输入的变量: $ read [-pt] variable
- declare和typeset是一样的功能用来声明:$ declare [-aixr] variable
-a: variable为数组类型
-i: variable为integer类型
-x:用法与export一致
-r:变量设置为readonly,只读类型,不可以修改
数组变量类型:array
- 设置方法: $ var [index]=context bash的数组下标是从0开始的。
数组名 下标 变量值
- 读取方式: $ echo ${var[1]}
变量内容的删除、替换:
- 变量设置方法 说明
${变量#关键字} 若变量内容从头开始数据符合”关键字“,则将符合的最短数据删除。
${变量##关键字} 若变量内容从头开始数据符合”关键字“,则将符合的最长数据删除。
${变量%关键字} 若变量内容从尾开始数据符合”关键字“,则将符合的最短数据删除。
${变量%%关键字} 若变量内容从尾开始数据符合”关键字“,则将符合的最长数据删除。
${变量/旧字符串/新字符串} 替换第一个符合的字符串。
${变量//旧字符串/新字符串} 替换全部符合的字符串。
- 变量的测试与内容的替换
new_var=${old_var-content}
新变量 关键字 旧变量 变量内容
三、Bash Shell操作环境
一个命令被执行时,命令执行的顺序是:
- 以相对/绝对路径执行命令。
- 由alias找到该命令并执行。
- 由bash内置的(builtin)命令执行。
- 通过$PATH变量的顺序找到第一个来执行。
Linux入门篇(五)——Shell(一)的更多相关文章
- Linux入门篇(六)——Shell(二)
这一系列的Linux入门都是本人在<鸟哥的Linux私房菜>的基础上总结的基本内容,主要是记录下自己的学习过程,也方便大家简要的了解 Linux Distribution是Ubuntu而不 ...
- Linux入门篇(一)——文件
这一系列的Linux入门都是本人在<鸟哥的Linux私房菜>的基础上总结的基本内容,主要是记录下自己的学习过程,也方便大家简要的了解 Linux Distribution是Ubuntu而不 ...
- Linux入门篇(四)——Vim的使用与Bash
这一系列的Linux入门都是本人在<鸟哥的Linux私房菜>的基础上总结的基本内容,主要是记录下自己的学习过程,也方便大家简要的了解 Linux Distribution是Ubuntu而不 ...
- Linux入门篇(二)——文件
这一系列的Linux入门都是本人在<鸟哥的Linux私房菜>的基础上总结的基本内容,主要是记录下自己的学习过程,也方便大家简要的了解 Linux Distribution是Ubuntu而不 ...
- 【SSRS】入门篇(五) -- 设置报表格式
原文:[SSRS]入门篇(五) -- 设置报表格式 在上一节 [SSRS]入门篇(四) -- 向报表添加数据 我们设置好了报表,并可以预览到数据,如下图: 当报表完成后,有个重要的工作就是美化报表格式 ...
- Linux入门篇(三)——文件与目录
这一系列的Linux入门都是本人在<鸟哥的Linux私房菜>的基础上总结的基本内容,主要是记录下自己的学习过程,也方便大家简要的了解 Linux Distribution是Ubuntu而不 ...
- Linux入门篇(一)——基本命令
这一系列的Linux入门都是本人在<鸟哥的Linux私房菜>的基础上总结的基本内容,主要是记录下自己的学习过程,也方便大家简要的了解 Linux Distribution是Ubuntu而不 ...
- linux入门教程(五) Linux系统的远程登录
首先要说一下,该部分内容对于linux初学者来讲并不是特别重要的,可以先跳过该章节,先学下一章,等学完后再回来看这一章. Linux大多应用于服务器,而服务器不可能像PC一样放在办公室,它们是放在ID ...
- Linux学习笔记<五>——<Shell部分>
管道命令(pipe) 1.把一个命令的输出作为另一个命令的输入 ls -al /etc | less 2.选取命令:cut和grep cut命令可以将一段消息的某段切出来. -d接分隔符,-f是取出第 ...
随机推荐
- scrollHieght、offsetHeight、clientHeight、width、height
1.scroll滚动(scrollTop.Left.Height.Width) scroll()当用户滚动指定的元素时,会发生 scroll 滚动事件: scrollWidth.scrollHeigh ...
- ASP.NET MVC扩展自定义视图引擎支持多模板&动态换肤skins机制
ASP.NET mvc的razor视图引擎是一个非常好的.NET MVC框架内置的视图引擎.一般情况我们使用.NET MVC框架为我们提供的这个Razor视图引擎就足够了.但是有时我们想在我们的项目支 ...
- C#中事件的一些总结
事件中 sender和e 事件中不同的对象 object sender 是事件的对象 eventages e 是事件对象传递过来的参数对象 如 private button_click(O ...
- Java入门之Tomcat运行
在上一篇<Java入门之Tomcat安装及环境变量配置>中提到,启动Tomcat要保持CMD下执行startup.bat的界面不关闭,才能访问Tomcat. 这是因为只有保持startup ...
- 关于修改test9ui布局的一些小笔记
今早,上IT修真园里,看到师兄大娃很负责任的将我任务里的项目的排版,3,6,7的列了出来. 谢谢师兄,那么负责任的照看师弟. 言归正传,我一开始,直接按照师兄的指示,选择性的优先修改底部.效果也达到了 ...
- [SVN]TortoiseSVN工具培训3─使用基本流程和图标说明
1.SVN的使用基本流程 注意:对于文件编辑方面,上图的编辑副本操作前建议进行Get lock操作,以防出现后续的冲突等异常报错. 2.SVN的基本图标说明
- Python元组、列表、字典、集合
1. 元组 元组由不同元素组成,每个元素可以存储不同类型的数据,元组是有序的,元组创建后不能再做任何修改. 元组的创建: tuple = ('a','b','c','d') 如果创建的元组只有1个元素 ...
- April 20 2017 Week 16 Thursday
We are all in the gutter, but some of us are looking at the stars. 我们都生活在阴沟里,但仍有人仰望星空. In the past m ...
- 如何把某个网站的SSL Server certificate链导入到ABAP Netweaver系统里
我们在用ABAP代码消费外网的url时会遇到一些异常,比如ICM_HTTP_SSL_PEER_CERT_UNTRUSTED,这是因为请求的url所在的网站的SSL Server certificate ...
- Android(java)学习笔记64:Android权限大全
访问登记属性 android.permission.ACCESS_CHECKIN_PROPERTIES读取或写入登记check-in数据库属性表的权限 获取错略位置 android.permissio ...