替代
编辑教程替代
当它遇到包含一个或多个特殊字符的表达式时 Shell 执行替代。
例
以下是一个例子,在这个例子中,变量被其真实值所替代。同时,“\n” 被替换为换行符:
#!/bin/sh
a=10
echo -e "Value of a is $a \n"
这会产生以下结果。在这里 -e 选项可以解释反斜杠转义。
Value of a is 10
下面是没有 -e 选项的结果:
Value of a is 10\n
这里有以下转义序列可用于 echo 命令:
Escape | Description |
---|---|
\ | 反斜杠 |
\a | 警报(BEL) |
\b | 退格键 |
\c | 抑制换行 |
\f | 换页 |
\n | 换行 |
\r | 回车 |
\t | 水平制表符 |
\v | 垂直制表符 |
默认情况下,你可以使用 -E 选项来禁用反斜线转义解释。
你你可以使用 -n 选项来禁用换行的插入。
命令替换:一种机制,通过它, Shell 执行给定的命令,然后在命令行替代他们的输出。
语法
当给出如下命令时命令替换就会被执行:
command
当执行命令替换确保你使用反引号,而不是单引号字符。
例
命令替换一般是用来分配一个命令的输出变量。下面的示例演示命令替换:
#!/bin/sh
DATE=`date`
echo "Date is $DATE"
USERS=`who | wc -l`
echo "Logged in user are $USERS"
UP=`date ; uptime`
echo "Uptime is $UP"
这会产生以下结果:
Date is Thu Jul 2 03:59:57 MST 2009
Logged in user are 1
Uptime is Thu Jul 2 03:59:57 MST 2009
03:59:57 up 20 days, 14:03, 1 user, load avg: 0.13, 0.07, 0.15
变量代换
变量代换使 Shell 程序员操纵基于状态变量的值。
下面的表中是所有可能的替换:
Form | Description |
---|---|
${var} | 替代 var 的值 |
${var:-word} | 如果 var 为空或者没有赋值,word 替代 var。var 的值不改变。 |
${var:=word} | 如果 var 为空或者没有赋值, var 赋值为 word 的值。 |
${var:?message} | 如果 var 为空或者没有赋值,message 被编译为标准错误。这可以检测变量是否被正确赋值。 |
${var:+word} | 如果 var 被赋值,word 将替代 var。var 的值不改变。 |
例
以下是例子用来说明上述替代的各种状态:
#!/bin/sh
echo ${var:-"Variable is not set"}
echo "1 - Value of var is ${var}"
echo ${var:="Variable is not set"}
echo "2 - Value of var is ${var}"
unset var
echo ${var:+"This is default value"}
echo "3 - Value of var is $var"
var="Prefix"
echo ${var:+"This is default value"}
echo "4 - Value of var is $var"
echo ${var:?"Print this message"}
echo "5 - Value of var is ${var}"
这会产生以下结果:
Variable is not set
1 - Value of var is
Variable is not set
2 - Value of var is Variable is not set
3 - Value of var is
This is default value
4 - Value of var is Prefix
Prefix
5 - Value of var is Prefix
Mos固件,小电视必刷固件
ES6 教程
Vue.js 教程
JSON 教程
jQuery 教程
HTML 教程
HTML 5 教程
CSS 教程
CSS3 教程
JavaScript 教程
DHTML 教程
JSON在线格式化工具
JS在线运行
JSON解析格式化
jsfiddle中国国内版本
JS代码在线运行
PHP代码在线运行
Java代码在线运行
C语言代码在线运行
C++代码在线运行
Python代码在线运行
Go语言代码在线运行
C#代码在线运行
JSRUN闪电教程系统是国内最先开创的教程维护系统, 所有工程师都可以参与共同维护的闪电教程,让知识的积累变得统一完整、自成体系。
大家可以一起参与进共编,让零散的知识点帮助更多的人。
X
选择支付方式:
立即支付
¥
9.99
无法付款,请点击这里
金额: 0 元
备注:
转账时请填写正确的金额和备注信息,到账由人工处理,可能需要较长时间
备注:
转账时请填写正确的金额和备注信息,到账由人工处理,可能需要较长时间
如有疑问请联系QQ:565830900
正在生成二维码, 此过程可能需要15秒钟