当前位置:K88软件开发文章中心网站服务器框架UNIX → 文章内容

UNIX Shell替代

减小字体 增大字体 作者:佚名  来源:网上搜集  发布时间:2019-1-23 14:42:29

由 youj 创建,路飞 最后一次修改 2016-08-12 Shell替代什么是替代?当它遇到包含一个或多个特殊字符的表达式时 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 命令:EscapeDescription\\反斜杠\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 程序员操纵基于状态变量的值。下面的表中是所有可能的替换:FormDescription${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

UNIX Shell替代