成都创新互联网站制作重庆分公司

如何理解shell编程中的BASH-创新互联

本篇内容介绍了“如何理解shell编程中的BASH”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

创新互联服务项目包括安塞网站建设、安塞网站制作、安塞网页制作以及安塞网络营销策划等。多年来,我们专注于互联网行业,利用自身积累的技术优势、行业经验、深度合作伙伴关系等,向广大中小型企业、政府机构等提供互联网行业的解决方案,安塞网站推广取得了明显的社会效益与经济效益。目前,我们服务的客户以成都为中心已经辐射到安塞省份的部分城市,未来相信会继续扩大服务区域并继续获得客户的支持与信任!

1、认识Bash

通过Shell将输入的指令与Kernel沟通,让Kernel控制硬件工作
查看Shell:cat /etc/shell
登录后预设的shell类型记录在/etc/passwd中,与账户相关
命令别名:alias lm='ls -al' #注意有无空格
帮助:man bash
命令类型:type



代码如下:

type ls # ls is aliased to `ls –color=auto'
type cat # cat is hashed (/bin/cat)
type cd # cd is a shell builtin




命令执行:

\[Enter]:将[Enter]转义,按下后不执行,而是另起一行

2、Shell的变量功能

概念:同一变量,不同用户可以有不同值,所以可以用变量来代表此值,而不用将具体的值 写入程序,如$PATH



代码如下:

显示变量:echo $PATH
设定变量:PATH=xxx #注意空格有无
扩充变量:PATH=$PATH:xxx
取消变量:unset MAIL
查看环境变量:env
查看环境变量及自定义变量:set


PS1:提示字符设定
自定义变量转环境变量:export
为什么要转成环境变量:因为子程序会继承父程序的环境变量
语系支持
查看系统支持的语系:locale -a
查看与语系有关的变量:locale
键盘读取用户输入read: read atest #将用户输入读入atest变量
声明变量类型 declare: declare -i sum=100+50

3、命令别名与历史命令

别名

代码如下:

alias lm='ls -al | more'
unalias lm


历史命令

代码如下:

history


4、Bash shell的操作环境

指令执行时查找顺序
相对/绝对路径 -> alias -> bash内建 -> $PATH
bash配置文件



代码如下:

login shell/non-login shell
login shell: 进入shell时需要输入账号密码
non-login shell: 通过图形界面登录,再启动shell时无需输入账号密码


配置文件

代码如下:

login shell:
/etc/profile :系统整体设定
以下三个文件按顺序,如果存在,就读取,后面的就不再读取
~/.bash_profile
~/.bash_login
~/.profile


通配符

代码如下:

* : 0到无穷个字符
? : 一个字符
[]: [abc] # a or b or c
[-]: [0-9] # 0 到 9
[^]: [^abc] # 不是a,b,c的一个字符


5、数据流重导向

代码如下:

> :覆盖
>>:累加
/dev/null:接收信息但不显示
依次执行:cmd1,cmd2,cmd3
根据上一条执行结果确定下一条
cmd1 && cmd2
cmd1 || cmd2


6、管线命令

代码如下:

ls | less
cut:同一行数据分割
echo $PATH | cut -d ':' -f 5 #以':'分割,第5个数据
grep:如果一行里有需要的信息,就返回这一行
sort:排序
uniq:重复内容只显示一次
wc:统计单词数
tee:双向重定向
tr:删除或替换数据
col:转化为纯文本
join:将两个文件中相关信息放在一起
paste:将两行并在一起,中间用[Tab]分开
expand:将[Tab]转为空格
split:将大文件传为小文件


“如何理解shell编程中的BASH”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注创新互联网站,小编将为大家输出更多高质量的实用文章!


标题名称:如何理解shell编程中的BASH-创新互联
文章转载:http://cxhlcq.com/article/dcsecc.html

其他资讯

在线咨询

微信咨询

电话咨询

028-86922220(工作日)

18980820575(7×24)

提交需求

返回顶部