脚本专栏 
首页 > 脚本专栏 > 浏览文章

shell编程基础之认识与学习BASH

(编辑:jimmy 日期: 2024/12/26 浏览:3 次 )

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:将大文件传为小文件

上一篇:Linux shell脚本全面学习入门
下一篇:shell去掉文件中空行(空白行)的方法详解
一句话新闻
高通与谷歌联手!首款骁龙PC优化Chrome浏览器发布
高通和谷歌日前宣布,推出首次面向搭载骁龙的Windows PC的优化版Chrome浏览器。
在对骁龙X Elite参考设计的初步测试中,全新的Chrome浏览器在Speedometer 2.1基准测试中实现了显著的性能提升。
预计在2024年年中之前,搭载骁龙X Elite计算平台的PC将面世。该浏览器的提前问世,有助于骁龙PC问世就获得满血表现。
谷歌高级副总裁Hiroshi Lockheimer表示,此次与高通的合作将有助于确保Chrome用户在当前ARM兼容的PC上获得最佳的浏览体验。