【Linux】bash shell学习
Bash Shell
Linux系统的合法shell都写入/etc/shells这个文件,默认使用的shell版本称为“Bourne Again Shell(简称bash)”
用户登录时系统会分配一个shell让用户工作,登陆取得的shell记录在/etc/passwd文件中
......(下面省略)......
bash的优点
- 命令记忆能力
命令记录在~/.bash_history中,记录前一次登陆以前执行过的命令。而本次登陆所执行的命令都被暂存在临时内存中,当成功注销系统后,该命令记忆才会记录到.bash_history中。该文件能直接显示输入的密码。
- 命令与文件补全([Tab]按键)
- 命令别名设置(alias)
- 作业前后台控制
- shell script
命令的执行([Enter])
输入多行命令:“\[Enter]”会转义回车键,下一行会出现>符号,可以继续输入命令。
变量
变量的显示
变量的赋值
等号两边不能直接接空格符,若有空格符可使用双引号、单引号括起来或转义空格符。
双引号内的特殊字符保有原本特性,单引号内的特殊字符仅为纯文本
取消变量的方法为使用“unset 变量名称”。
unset 变量名称
查看环境变量
env
查看所有变量(含环境变量与自定义变量)
set
自定义变量转成环境变量
export 变量名称
子进程仅继承父进程的环境变量,不会继承父进程的自定义变量
常见环境变量
- HOME——用户的主文件夹
- SHELL——默认是/bin/bash
- PATH——文件命令查找路径
- LANG——语系
- PS1——命令提示符,可在 ~/.bashrc 中设置
- $——此 shell 的线程号PID
echo $$
- ?——“上个执行命令”的“回传码”
如果上个命令成功执行,则会回传一个 0 值;如果上个命令发生错误,就会回传一个非 0 的“错误代码”。 - OSTYPE,HOSTTYPE,MACHTYPE——主机操作系统与CPU等级
键盘读取变量
-t 接等待的秒数,超时则自动略过该命令
声明变量类型
declare [-aixr] 变量名称
-a 数组类型
-i 整数类型
-x 变为环境变量
-r 只读类型,无法更改、重设
将 - 变为 + 进行“取消”操作
变量类型默认为“字符串”
【Linux】bash shell学习的更多相关文章
- Linux Bash Shell学习笔记
参数扩展: 1.被名称引用的参数称作变量2.被数字引用的参数称作位置参数3.被特定符号引用的参数具有特殊的含义和用途,被称作Bash的特殊内部变量引用. 基本参数扩展:字符$会引导参数扩展.大括号是可 ...
- linux BASH shell设置字体与背景颜色
linux BASH shell下设置字体及背景颜色的方法. BASH shell下设置字体及背景颜色 echo -e "\e[31mtest\e[41m" \e[30m 将字 ...
- 【Linux】linux bash shell之变量替换::=句法、=句法、:-句法、-句法、=?句法、?句法、:+句法、+句法
linux bash shell之变量替换::=句法.=句法.:-句法.-句法.=?句法.?句法.:+句法.+句法 linux bash shell之变量替换::=句法.=句法.:-句法.-句法. ...
- Linux Bash Shell常用快捷键
Linux Bash Shell常用快捷键 table { margin: auto } 快捷键 功能 tab 补全 ctrl + a 光标回到命令行首 ctrl + e 光标回到命令行尾 ctrl ...
- Linux bash shell All In One
Linux bash shell All In One Linux https://tinylab.gitbooks.io/shellbook/content/zh/chapters/01-chapt ...
- linux bash shell & lsof & grep & ps
linux bash shell & lsof & grep & ps lsof list all open files # lsof & grep $ lsof -P ...
- Linux下Bash shell学习笔记
原文地址: http://www.cnblogs.com/NickQ/p/8870423.html 1.shell下没有变量类型和定义的概念. 变量直接使用不用定义 所有值都视为字符串. 在对变量取值 ...
- linux bash shell 流程控制(if/else )
本文转自:http://blog.csdn.net/flowingflying/article/details/5069646 本文也即<Learning the bash Shell>3 ...
- bash shell学习-实践 (自己实现一些小工具)
The poor starve while the rich feast. "穷人饥肠辘辘,富人大吃大喝" 参考资料:鸟哥的Linux私房菜 基础学习篇(第三版) Linux S ...
随机推荐
- Lintcode452-Remove Linked List Elements-Easy
Remove Linked List Elements Remove all elements from a linked list of integers that have value val. ...
- Mysql 函数使用记录(二)——ELT()、FIELD()、IFNULL()
昨天在对一业务修改的过程中想到用DECODE()来实现效果,转眼发现目前使用的是Mysql库,经过查阅,最终用ELT().FIELD().IFNULL()函数来实现需求.现对其做一个记录. 语法: E ...
- 蚂蚁金服首席数据科学家漆远:AI技术开放,与业界融合共创
小蚂蚁说: 11月8日,在第五届世界互联网大会-<人工智能:融合发展新机遇>论坛上,蚂蚁金服副总裁.首席数据科学家漆远认为AI具有控制风险.降本增效和提升用户体验三大作用. 11月8日,第 ...
- JS代码排版工具
有时候从网页上下载的js文件删除了空格,看起来就是一整段,还是蛮影响开发效率的,在CSDN上找到一个排版工具,用掉了我最后一个积分,所以在这儿分享一下: 百度云:链接:http://pan.baidu ...
- git 修改文件夹名字后如何提交
将文件夹名字从 v1.0.1 修改为 v1.0.2 git add --ignore-removal "v1.0.2/xsxsx"
- Python 创建和使用类
python创建和使用类的方法如下 # class Dog(): # def __init__(self,name,age): # self.name=name # self.age=age # # ...
- 从classloader的变更说起
classloader从1.6到1.7整体分成了两个版本.重点区别就是并行类加载. 1.6版本 protected synchronized Class loadClass(String name, ...
- 浅谈Nginx负载均衡与F5的区别
前言 笔者最近在负责某集团网站时,同时用到了Nginx与F5,如图所示,负载均衡器F5作为处理外界请求的第一道“墙”,将请求分发到web服务器后,web服务器上的Nginx再进行处理,静态内容直接访问 ...
- download 属性
1.使用场景 对浏览器 识别/不识别 的文件下载 2.核心代码 var eleTextarea = document.querySelector('textarea'); var eleButton ...
- 原生JS操作iframe里的dom
转:http://www.css88.com/archives/2343 一.父级窗口操作iframe里的dom JS操作iframe里的dom可是使用contentWindow属性,contentW ...