shell语言基础

1.定义变量的时候不能有空格

例如:a=1

2.echo 命令:表示向界面输出变量

 例如:echo $a(注意大小写敏感)

3.单引号和双引号的区别:单引号是把里面当字符串输出,双引号才能把变量里的内容输出

例如:a="hello world"
echo 'abc $a'==>abc $a  
echo "abc $a"==>abc hello world

4.该语言可以直接使用系统内未定义的变量,但是这个变量输出之后什么都不会发生,严谨的写法建议带花括号echo ${a}

5.预定义变量:

echo $PWD,echo $USER,echo $HOME,echo $PATH

6.数组定义和使用:

a=(1 2 3 4 5)
echo $a这样只能打印一个数字,下标也是从0开始的
echo ${a[@]}和${a[*]}是打印所有数组
echo ${#a[@]}和${#a[*]}都是打印数组的长度

7.which命令只能找到配置环境变量的文件路径,但是没有配置环境变量的路径是找不到的。

例如:which python

8.反引号的功能:’ ’ 可以把该命令的功能付给任意变量

ls是查询文件目录的意思,a=' ls ' echo $a==>相当于把ls的功能付给了变量a,
输出变量a的时候,也具备了查询文件目录功能

9.-e开启转义模式:

echo -e "a\nbb"==>打印出来就换行了,不然是不会换行的

10.(())双括号的意思是:可以对括号中的变量进行操作

a=2;b=3
echo $((a+b))==>5
echo $(($a+$b))==>5

11.变量类型

字符串  a="XX"
数字    b=1314
布尔    a =true   b=false

12.shell语言(())不支持浮点数运算

只能整除echo $((2/3))==>0
awk 'BEGIN{print 2/3}'要这样写才能运算浮点型

13.字符串切片

s="hello from world"
echo ${s:6}==>from world      echo ${s:6:3}==>fro

掐头:#放在前面表示检查长度,#放在后面表示掐掉
echo ${s#hello}==>from world
截取到第一个为止:echo ${s#*o}==>from world
截取到最后一个为止:echo ${s##*o}==>rld去尾:用%
截取到第一个为止:echo ${s%world}==>hello from
              echo ${s%o*}==>hello from w
截取到最后一个为止:echo ${s%%o*}==>hell

字符串替换
echo ${s/world/aaa}==>hello from aaa

14.ps命令

ps -e  显示所有的进程
ps -ef 显示所有进程的所有进程号

ls -al 显示所有文件,包括隐藏文件

15.grep匹配文件中的信息

grep "hello" text.txt 匹配text.txt文件中hello这行的文字,并且打印出来
grep -i "hello" text.txt 匹配text.txt文件中hello这行的文字忽略大小写,并且打印出

16.|管道连接符号

cat text.txt |grep -i "hello"匹配text.txt文件中hello这行的文字忽略大小写,并且打印出
cat text.txt |grep -o "hello"匹配text.txt文件中只匹配hello
echo abcdef |grep -o "c."  ===>cd
echo abcdef |grep -0 "c.*" ===>cdef
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值