13. bash
来源:互联网 发布:淘宝隐形眼镜可以买吗 编辑:程序博客网 时间:2024/05/17 13:09
shell 将我们的输入的命令与内核通信。只要能操作应用程序的接口都可以称为 shell 。
查看 shell :
每个用户默认取得的 shell:
我们登录终端机(tty)后,Linux 会根据 /etc/passwd 文件的设置给我们一个shell
优点: 1. 命令记忆能力: /.bash_history 2. 命令与文件补齐功能(Tab) 3. 命令别名设置功能(alias),alias lm='ls -al' 4. 作业控制,前台,后台控制 5. 程序脚本 6. 通配符
bash shell 的内置命令
type [-tpa] name type 不加参数会显示 name 是外部命令还是bash 内置命令 -t : 加入-t时,会将name以下面这些字眼显示出它的意义 file : 表示为外部命令 alias: 表示该命令为命令别买所设置的名称 builtin:该命令为bash内置的命令 -p : 如果后接name为外部命令,才会显示完整文件名 -a : 会由PATH变量定义的路径中,将所有含name的命令都列出来,包括aliastype 后面接的名称如果不能以执行文件的状态被找到,那么该名称是不会被显示出来的。
shell 变量功能
变量的显示与设置: echo ,unset
设置变量:不能有空格
变量设置规则: 单引号不解析变量; 双引号解析变量; 使用其他命令用 `命令` 包起来: 如`ls`,或者 $(命令),version=$(uname -r) 若为该变量增加内容,则可用 "$变量名称"或者${变量}累加内容,如 "PATH="$PATH":/home/bin" 若该变量需要在其他子进程执行,则需要以export来使变量变成环境变量: export PATH 通常大写为系统默认变量,自行设置的变量使用小写 取消变量,unset,如 unset myname
一般情况下,父进程自定义的变量无法在子程序中使用,但是通过export将变量变成环境变量后,就可以使用了。
环境变量的功能
用 2 个命令来查看环境变量:env : 查看环境变量与常见环境变量说明
HOME:用户主文件夹SHELL:目前环境适应哪个shellHISTSIZE:历史命令条数MAIL:当我们使用mail这个命令收信时系统会去读取的邮件信箱文件(mailbox)PATH:执行文件查找的路径,目录与目录以 : 分割,由于文件的查找依据PATH内的变量的目录来查询,所以目录顺序也很重要LANG:语系数据RANDOM:随机数
用 set 查看所以变量(包含环境变量和自定义变量):
PS1(提示符的设置) : - 这是 PS1,这个东西就是我们的"命令提示符"。当我们每次按下回车时去执行某个命令,最后要再次出现提示符,就会主动去读取这个变量值 - \d : 可以显示星期月日的日期格式,如 "Mon Feb 2" - \H : 完整的主机名 - \h : 仅取主机名在第一个小数点之前的名字 - \t : 显示时间,为24小时,"HH:MM:SS" - \T : 显示时间 ,12小时,"HH:MM:SS" - \A : 显示时间,24小时,"HH:MM" - \@ : 显示时间,为"am/pm"格式 - \u : 目前用户的账号名称 - \v : bash 版本信息 - \w : 完整的工作目录名称 - \W : 利用basename 函数获得的工作目录名称 - \# : 执行的第几个命令 - \$ : 提示符,如果是root,为#,否则就是$
$(关于本 shell 的 PID) : $ 本身也是个变量。这个代表的是目前这个 shell 的线程代号,即所谓的 PID(Process ID),想知道我们shell的PID ,用 "echo $$"
?(关于上个执行命令的回传码): 如果我们执行某些命令,这些命令会回传一个执行后的代码。成功返回0
export : 自定义变量转成环境变量 两者的区别在于该变量能否被子进程继续引用。 子进程会继承父进程的环境变量,但不会继承父进程的自定义变量。
影响显示结果的语系变量( locale )
locale -a
变量键盘读取,数组与声明:read,array,declare
read [-pt] variable -p : 后接提示符 -t : 后接等待的秒数
declare/typeset [-aixr] variable : -a : 将后面名为 variable 的变量定义为数组类型 -i : 将后面名为 variable 的变量定义为整数类型 -x : 用法与 export 一样,将后面的 variable 定义成环境变量 -r : 将变量设置成 readonly 类型,不能更改
变量默认类型为字符串,所以要指定类型
declare +x variable // 将 环境变量 variable 转换成普遍变量
声明数组:
与文件系统及程序的限制关系: ulimit
ulimit -a // 列出目前身份的限制
0 0
- 13. bash
- bash
- .bash
- bash
- bash
- bash
- bash
- bash
- Bash
- Bash
- bash
- bash
- Bash
- bash
- BASH
- bash
- bash
- Bash
- Hive CLI执行流程分析
- 约瑟夫问题 循环单链表解法
- 卷积神经网络(CNN)及其theano实现
- nginx负载均衡后tomcat获取客户端真实IP
- TensorFlow学习(三):Graph和Session
- 13. bash
- 学习php自行开发MVC框架过程(三)
- SSH框架之Hibernate的继承映射的形式三(两张表)【推荐】
- Beeline 执行流程
- Python使用tensorflow中梯度下降算法求解变量最优值
- Winform 窗体传值
- setlocal enabledelayedexpansion的作用
- Java工程通过JDBC连接数据库方法(SQL Server)
- 设计模式系列之十二状态模式