linux-BASH学习之简单变量操作

简单的变量操作

快速编辑组合键

组合键功能
ctrl+u从光标处向前删除命令
ctrl+k从光标处向前后除命令
ctrl+a将光标移动至命令串最前面
ctrl+e将光标移动至命令串最后面

变量的使用与设置:echo、变量设置规则、unset

变量查看

echo $变量名
Eg:
echo $MAIL
/var/spool/mail/nexus

设置或者修改某个变量

格式:variable=something
例子:
$ myvar=MYVAR
$ echo $myvar
MYVAR
  • 变量的设置规则
    • 变量与变量内容以一个等号连接
    • 等号两边不能为直接接空格
    myvar= sdfsdfasdf			//存在空格
    bash: sdfsdfasdf: 未找到命令...
    $ myvar=sdfsdfasdf
    $ myvar=sdfsdfad sdf     //存在空格
    bash: sdf: 未找到命令...
    
    • 双引号内的特殊字符可以保持原有特性
    myvar="myname is $LANG"
    $ echo $myvar
    myname is zh_CN.UTF-8
    
    • 单引号内的特殊字符为纯文本
    $ myvar='myname is $LANG'
    $ myvar
    $ echo $myvar
    myname is $LANG
    
    • 可以将系统命令的输出作为变量
    命令格式:variable=$(命令)
    $ myvar=$(ll)
    $ echo $myvar
    总用量 108 -rw-rw-r--. 1 .......(省略)
    
    同样借助这种思想有:
    cd /lib/modules/$(uname  -r)/kernel
    $ pwd
    /lib/modules/3.10.0-957.el7.x86_64/kernel
    
    
    • 扩增变量内容
    $ myvar=OldOne
    $ myvar=$myvar:NewOne
    $ echo $myvar
    OldOne:NewOne
    
    • 取消变量设置
    unset myvar
    $ unset myvar
    $ echo $myvar
    (空格,没有输出,默认为空)
    
    • 键盘输入变量–read
    格式:read [-pt] variable		p接提示符,t接等待输入时间(单位为秒)
    $ read -p "提示符" -t 5 var
    提示符asdfasdf
    $ echo $var
    asdfasdf
    
    • 声明变量之declare
    说明:
    declare	[-aixr]	variable
    -a	:	定义为(array)数组类型;
    -i	:	定义为(integer)整数类型
    -x	:	将variable设置为环境变量,与export一样
    -r	:	将变量设置为readonly类型,不可更改,也不能使用unset
    
    例子:
    产生随机数
    $	declare -i number=$RADOM*10/32768		//$RANDOM,系统函数,产生0-32768之间的随机数
    $	echo $number
    $	6
    
    不带选项的情况:
    $ declare num=$RANDOM*10/32768			//默认为字符串而不是数字
    $ echo $num
    17755*10/32768
    
    对于数组情况:
    $ var[1]="45512sd"
    $ var[2]="asdf512sd"
    $ var[3]="ijgigfjkvdfasdf512sd"
    $ echo "${var[1]},${var[2]},${var[3]}"
    45512sd,asdf512sd,ijgigfjkvdfasdf512sd
    
    这个echo真的很像c语言中的printf()函数,$类似于%
    $ var="123456789"
    $ echo "sdfcasdvasdfvf${var}gfva"
    sdfcasdvasdfvf123456789gfva
    echo的作用就是打印输出,${variable}打印变量
    例子:
    $ echo "这是一个echo命令测试">t1.txt
    $ cat t1.txt
    这是一个echo命令测试
    用echo命令输出加引号的字符串时,将字符串原样输出;
    用echo命令输出不加引号的字符串时,将字符串中的各个单词作为字符串输出,
    各字符串之间用一个空格分割。
    
    
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值