【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 ...
随机推荐
- Vs Code搭建 TypeScript 开发环境
一.npm install -g typescript 全局安装TypeScript 二.使用Vs Code打开已创建的文件夹,使用快捷键Ctrl+~启动终端输入命令 tsc --init 创建t ...
- 五、IO编程
input/output:输入.输出 Stream(流):Input Stream就是数据从外面(磁盘.网络)流进内存,Output Stream就是数据从内存流到外面去.(流:相当于管道) 由于CP ...
- forEach、map、filter、find、sort、some等易错点整理
一.常用方法解析 说起数组操作,我们肯定第一反应就是想到forEach().map().filter()等方法,下面分别阐述一下各方法的优劣. 1.forEach 1.1 基础点 forEac ...
- 什么是java OOM?如何分析及解决oom问题?
最近查找了很多关于OOM,甚至于Java内存管理以及JVM的相关资料,发现这方面的东西太多了,竟有一种眼花缭乱的感觉,要想了解全面的话,恐非一篇文章能说清的,因此按照自己的理解整理了一篇,剩下的还需要 ...
- (一)PHP简介
什么是 PHP? PHP 是 "PHP Hypertext Preprocessor" 的首字母缩略词 PHP 是一种被广泛使用的开源脚本语言 PHP 脚本在服务器上执行 PHP ...
- Scrapy创建爬虫项目
1.打开cmd命令行工具,输入scrapy startproject 项目名称 2.使用pycharm打开项目,查看项目目录 3.创建爬虫,打开CMD,cd命令进入到爬虫项目文件夹,输入scrapy ...
- P1182 数列分段`Section II`
传送门 思路: 求数列每段和的最大值的最小值,很明显是用二分法求解,加贪心检验.本题关键是要怎么去高效的check,可以考虑一个贪心的思路,能加的就加上,不能则新开一段,so对于二分的值 u ,我们从 ...
- ES6的新API如Promise,Proxy,Array.form(),Object.assign()等,Babel不能转码, 使用babel-polyfill来解决
Babel默认只转换新的JavaScript句法(syntax),而不转换新的API,比如Iterator.Generator.Set.Maps.Proxy.Reflect.Symbol.Promis ...
- TCP与UDP各自优缺点与区别
TCP的优点: 可靠,稳定 TCP的可靠体现在TCP在传递数据之前,会有三次握手来建立连接,而且在数据传递时,有确认.窗口.重传.拥塞控制机制,在数据传完后,还会断开连接用来节约系统资源. TCP的缺 ...
- MySQL学习(二)
1 增删改查是针对表来说的. 2 创建一个表 mysql> create table stu( -> id int primary key auto_increment, -> sn ...