首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

注释和特殊字符

首先看一个简单的shell程序

``` shell

#!/bin/bash

# --------------------------------- #

# ? 匹配一个字符

# * 匹配任意多个字符

# [abc] 匹配中括号中的所有单个字符中的一个

# [0-9] 匹配0-9中任意一个字符

# [^abc] 去反

# --------------------------------- #

# $ 调用变量

# '' 忽略所有特殊字符 , 直接将单引号中的内容当成字符串

# "" 会将 $ , ` , \ 作为例外 , 别的字符全部作为字符串

# `` 执行``中的命令并返回命令执行的结果

# $() 同上

# # 注释

# \ 转义

# --------------------------------- #

answer='I am fine, thank you.'

echo "The date is `date`.\r\nHey, I am $(whoami).\r\nHow are you?\r\n$answer"

理想的输出如下

Hey, I am ec2-user.

How are you?.

I am fine, thank you.

然而实际执行结果为

The date is Thu Apr 26 09:25:24 UTC 2018.\r\nHey, I am ec2-user.\r\nHow are you?\r\nI am fine, thank you.

这是为什么那?

我们man echo看一下

NAME

echo - display a line of text

SYNOPSIS

echo [SHORT-OPTION]... [STRING]...

echo LONG-OPTION

DESCRIPTION

Echo the STRING(s) to standard output.

-n do not output the trailing newline

-e enable interpretation of backslash escapes

-e 选项是使能回车符号,如果没有加,就是上述的执行结果。

【知识点】

1、 `"``"`和`$()`等价,是执行命令并返回结果

2、 `echo -e` 使能回车符

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180501G0XPTQ00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券