Bash编程学习笔记(二)

[color=red]读写Shell变量[/color]

命令替代操作符及其描述

$variable 得到一个变量的值,如果没有被初始化则为Null 没有被初始化返回NULL
${variable} 得到一个变量的值,如果没有被初始化则为Null,通常在其他的东西要添加到变量值的时候使用 同上
${variable:-string} 得到一个变量的值,如果这个变量没有被定义则返回一个确定的值 variable存在而且不是空值的时候返回变量的值,否在那返回null
${variable:=string} 得到一个变量没有被定义则把一个已知的值赋给它并返回这个值 variable存在不是空值的时候返回值,否则string赋给variable,返回string
${variable:?string} 如果变量没有被定义则显示一条消息 variable存在而且不是空值的时候,返回变量的值,否则显示字符串variable,并在其后显示message
${variable:+string} 测试一个变量存在与否 variable存在而且不是空值的时候返回string,否则返回null


yaoyuan-desktop$echo $name

yaoyuan-desktop$name=yaoyuan
yaoyuan-desktop$echo $name
yaoyuan
yaoyuan-desktop$echo $place

yaoyuan-desktop$echo ${name:-John} ${place:-Portland}
yaoyuan Portland
yaoyuan-desktop$echo ${place?"Not defined"}
bash: place: Not defined
yaoyuan-desktop$echo ${name:+"Not defined"}
Not defined
yaoyuan-desktop$echo ${place:+"Not defined"}

yaoyuan-desktop$echo ${place:="San Francisro"}
San Francisro
yaoyuan-desktop$echo ${name:-John} ${place:-Portland}
yaoyuan San Francisro



[color=red]'',"",*,\的使用[/color]

yaoyuan-desktop$name=yaoyuan
yaoyuan-desktop$echo $name
yaoyuan
yaoyuan-desktop$name=yao yuan
bash: yuan:找不到命令
yaoyuan-desktop$echo $name
yaoyuan
yaoyuan-desktop$name=yaoyuan*
yaoyuan-desktop$echo $name
yaoyuan
yaoyuan-desktop$name=yaoyuan
yaoyuan-desktop$echo $name
yaoyuan
yaoyuan-desktop$echo "$name"
yaoyuan*
yaoyuan-desktop$echo "Is Not Hello World! "
Is Not Hello World!
yaoyuan-desktop$echo '$name'
$name
yaoyuan-desktop$echo '$name'
$name



[color=red]Shell命令替换[/color]

[color=brown]$(command)[/color]

yaoyuan-desktop$command=pwd
yaoyuan-desktop$echo "The value of command is: $command."
The value of command is: pwd.
yaoyuan-desktop$command=$(pwd)
yaoyuan-desktop$echo "The value of command is: $command."
The value of command is: /home/yaoyuan.

[color=red]命令替换适用于任何命令[/color]

yaoyuan-desktop$echo "The date and time is $(date)."
The date and time is 2008年 10月 12日 星期日 01:41:28 CST.



[color=red]创建只读的用户自定义的变量[/color]

declare -r [name-list]
typeset -r [name-list]
readonly [name-list]

用于阻止对name-list中列出的变量赋新值

yaoyuan@yaoyuan-desktop:~/ScriptFile$ declare -r name=Yao place=Yuan
yaoyuan@yaoyuan-desktop:~/ScriptFile$ echo $name $place
Yao Yuan

yaoyuan@yaoyuan-desktop:~/ScriptFile$ name=Yuan
bash: name: 只读变量
yaoyuan@yaoyuan-desktop:~/ScriptFile$ place="YaoYuan"
bash: place: 只读变量


[color=red]只读变量的值不能重设[/color]

yaoyuan@yaoyuan-desktop:~/ScriptFile$ unset name
bash: unset: name:无法重置:只读的 variable
yaoyuan@yaoyuan-desktop:~/ScriptFile$ unset place
bash: unset: place:无法重置:只读的 variable


[color=red]从标准输入设备读入[/color]

read [options][variable-list]

用于从标准输入设备读入一行,把读入的词赋给在variable-list中的变量

yaoyuan@yaoyuan-desktop:~/ScriptFile$ cat read_demo
#! /bin/bash
echo -n "Enter input: "
read line
echo "You entered: $line"
echo -n "Enter another line: "
read word1 word2 word3
echo "The first word is: $word1"
echo "The second word is : $word2"
echo "The rest of the line is: $word3"
exit 0
yaoyuan@yaoyuan-desktop:~/ScriptFile$ ./read_demo
Enter input: yaoyuan
You entered: yaoyuan
Enter another line: hello shell, I love you
The first word is: hello
The second word is : shell,
The rest of the line is: I love you
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值