Linux学习笔记(8)之Shell编程入门--输入输出、引号

时间:2021-02-25 15:34:36

1、read [选项] 变量名列表

选项:-p prompt 设置提示信息

   -n num当read读num个字符后返回

   -s屏幕不回显,可用于密码的输入

2、echo [选项] 字符串

选项:-n 不在最后自动换行

   -e启用反斜线控制字符的转换

转义符:\n 换行

       \t表格跳位键

[root@host ~]# echo -e "a\tb\tc\nd\te\tf"
a       b       c
d       e       f

引号:

1、反引号:

      将一对反引号之间的命令用该命令的指行结果来代替,实现命令替换

2、单引号:

       在一对单引号中的所有字符(包括元字符),保留原有字符的含义,因此单引号不支持元字符、变量替换和命令        替换

3、双引号:

        在一对双引号中的字符(包括元字符),除了$、反引号`和反斜杠\外,其余均保留原来字符的含义

       (1)关闭通配符扩展

         对双引号中的元字符不做处理,保留其原有的含义

       (2)支持变量替换

         将双引号中引用的变量用变量值进行替换

        (3)支持命令替换

          将双引号内一对反引号中的命令替换为该命令运行的结果

[root@host ~]# abc="pwd"#此处单引号、双引号相同
[root@host ~]# echo `$abc`
/root
[root@host ~]# echo '$abc'
$abc
[root@host ~]# echo "$abc"
pwd

[root@host ~]# echo "`$abc`"
/root

[root@host ~]# echo `"$abc"`
/root

[root@host ~]# echo "`pwd`"#`pwd`结果为/root,echo "/root"
/root        

[root@host ~]# echo "*"#屏蔽元字符的特定含义
*
[root@host ~]# echo '*'
*