Linux菜鸟笔记——BASH(二)

实验环境:Ubantu  16.04


一、变量键盘读取(read

read xxx #从键盘获取输入,存到xxx变量中

read #从键盘获取输入,存到REPLY变量中

 

echo -n “请输入您的名字:” #”-n”是打印完不换行的意思

read name

echo “欢迎你,$name”

前两句代码等同于:

read -p “请输入您的名字:” name #获取输入时先打印提示信息

 

  


二、数组(array)

1、定义一个数组

array1=(aa bb cc dd)

2、打印其中一个元素

echo ${array1[0]} #打印结果:aa 

3、打印所有元素

echo ${array1[*]} #打印结果:aa bb cc dd

或:echo ${array1[@]}


4、打印所有下标

echo ${!array1[*]} #打印结果:0 1 2 3

或:echo ${!array1[@]}


5、打印数组的元素个数

echo ${#array1[*]} #打印结果:4

echo ${#array[@]}

 


三、声明(declare)

1、声明变量为只读

注:变量为只读时无法修改值、删除(unset)

2、单引号内忽略特殊意义(也就是说’’内是什么就打印出什么)

3、反引号

等同于echo “xxxxxxx $(hostname) xxxxxxxxx”  #hostname是一个变量

 

四、与文件系统及程序的限制关系(ulimit)

1、查看所有限制

ulimit -a

2、限制单个文件大小

ulimit -f 20480 #只对当前bash有效,退出后即恢复为unlimited

dd if=/dev/zero of=file bs=1M count=30 #会提示“文件大小超出限制,因为上一句限制了最大为20M

 

五、变量内容的删除、替换

1.变量删除:

path=$PATH

r=${path#*sbin:} #”#”表示从头部开始删,直到第一个”sbin:”,

r=${path##*sbin:} #”##”表示从头部开始删,直到最后一个”sbin:”

 


r=${path%bin*} #”%”表示从尾部开始删,直到遇到第一个”bin”

r=${path%%bin*} #”%%”表示从尾部开始删,直到最后一个”bin”

 

2.变量替换

r=${xx-”aaa”}

如果xx存在且值不为空:xx赋给r

如果xx存在且值为空:xx赋给r

如果xx不存在:”aaa”赋给r

 

r=${xx:-”aaa”}

如果xx存在且值不为空:xx赋给r

如果xx存在且值为空:”aaa”赋给r

如果xx不存在:”aaa”赋给r

 

r=${xx:=”aaa”}

如果xx存在且值不为空:xx赋给r

如果xx存在且值为空:”aaa”赋给rxx

如果xx不存在:”aaa”赋给rxx

 

r=${xx:?”aaa”}

如果xx存在且值不为空:”aaa”赋给r

如果xx存在且值为空:打印”aaa”;

如果xx不存在:打印”aaa”;

 

r=${xx:+”aaa”}

如果xx存在且值不为空:xx赋给r

如果xx存在且值为空:;

如果xx不存在:”aaa”不会赋给r

 

 

六、命令别名设置

alias #显示目前已有的别名

alias aa=”ifconfig eth0” #设置别名

unalias #取消别名

 


七、历史命令

history #查看历史命令(默认保存1000个,通过环境变量$HISTFILESIZE修改)

!120 #快速调用序号为120的历史命令

history -c #清除所有历史命令


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值