创新互联UNIX教程:UNIXShell替代

Shell替代

什么是替代?

当它遇到包含一个或多个特殊字符的表达式时 Shell 执行替代。

十多年的刚察网站建设经验,针对设计、前端、开发、售后、文案、推广等六对一服务,响应快,48小时及时工作处理。成都全网营销推广的优势是能够根据用户设备显示端的尺寸不同,自动调整刚察建站的显示方式,使网站能够适用不同显示终端,在浏览器中调整网站的宽度,无论在任何一种浏览器上浏览网站,都能展现优雅布局与设计,从而大程度地提升浏览体验。创新互联从事“刚察网站设计”,“刚察网站推广”以来,每个客户项目都认真落实执行。

以下是一个例子,在这个例子中,变量被其真实值所替代。同时,“\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 替代 varvar 的值不改变。
${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教程:UNIXShell替代
链接URL:http://www.shufengxianlan.com/qtweb/news12/222762.html

网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联