shell 笔记 之变量

10 篇文章 0 订阅

 

#!/bin/bash

# #开头的行注释
# shell脚本的第一行一般都是#!/bin/bash 表示由/bin/bash负责解释

# 定义变量
str="string value"
num=123
echo str is :\"$str\"
echo num\'s value is: $num

# 注意:
# 1、"="两边没有空格,任何空格会导致错误。
# 2、虽然在定义一个字时可以省略引号,但是当定义的变量值多于一个字时(包含空格或制表符),引号是必须的。
# 3、虽然通常可以使用双引号,但可能导致错误。使用单引号禁用了成为扩展的bash特性


# 参数变量(用单引号禁止来扩展)
# $0 表示执行的命令本身,如此脚本是 env.sh
# $1 表示第一个参数, $2表示第二个参数,如此类推;
# $@ 表示一次引用所有的变量,它扩展成所有用空格分隔开的命令行参数;
# $# 表示传递给脚本的变量数目;
echo '$0 is ' $0
echo '$1 is ' $1
echo '$2 is ' $2
echo '$3 is ' $3
echo '$# is ' $#
echo '$@ is ' $@

# 环境变量,使用export命令设置,使用unset取消
export editor=vim
unset editor


# 变量默认值
# ${parameter:-word} 如果parameter没有设置或者为空,则shell扩展word并替换结果。parameter的值并没有更改。

# ${parameter:=word} 如果parameter没有设置或者为空,则shell扩展word并将结果指派给parameter。这个值然后被替换。不能用这种方式指派位置参数或特殊参数的值。

# ${parameter:?word} 如果parameter没有设置或者为空,shell扩展word并将结果写入标准错误中。如果没有word则写入一条消息。如果shell不是交互的,则表示存在这个扩展。

# ${parameter:+word} 如果parameter没有设置或者为空,则不作替换

unset x
y="abc def"
echo "/${x:-'xyz'} /${y:-'xyz'} /$x /$y/"

unset x
y="abc def"
echo "/${x:='xyz'} /${y:-'xyz'} /$x /$y/"

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值