echo 命令几个问题:
1.单引号和双引号的区别:
使用双引号时候,echo会处理一些特殊字符,例如$;使用单引号时,单引号的内容会原样输出
例如:
oracle[~]$echo '$ORACLE_HOME'
$ORACLE_HOME
oracle[~]$echo "$ORACLE_HOME"
/u01/oracle
2. 字符转义
除了单引号可以进行转义外,使用右斜杠也可以进行转义:
oracle[~]$echo "\$ORACLE_HOME"
$ORACLE_HOME
oracle[~]$echo \$ORACLE_HOME
$ORACLE_HOME
3. 如何打印一些特殊字符(例如回车,制表符)?
如果没有加别的选项,\用于转义
oracle[~]$echo \\$ORACLE_HOME
\/u01/oracle
要打印一些特殊字符,那就需要使用-e选项配合右斜杠(\)
-e选项使用方法如下:
\a 发出警告声;
\b 删除前一个字符;
\c 最后不加上换行符号;
\f 换行但光标仍旧停留在原来的位置;
\n 换行且光标移至行首;
\r 光标移至行首,但不换行;
\t 插入tab;
\v 插入垂直方向上的制表符;
\\ 插入\字符;
\0NNN byte with octal value NNN (1 to 3 digits)
\xHH byte with hexadecimal value HH (1 to 2 digits)
在这个时候,需要加双引号:
1. 不换行输出(类似echo -n):
oracle[~]$echo -e "您好\c"
您好oracle[~]$
2. 输出tab:
oracle[~]$echo -e "商品\t\t 单价"
商品 单价
3. 输出某个8进制数表示的ascii码
oracle[~]$echo -e "\0123"
S
4. 输出某个16进制数表示的ascii码
oracle[~]$echo -e "\x53"
S
1.单引号和双引号的区别:
使用双引号时候,echo会处理一些特殊字符,例如$;使用单引号时,单引号的内容会原样输出
例如:
oracle[~]$echo '$ORACLE_HOME'
$ORACLE_HOME
oracle[~]$echo "$ORACLE_HOME"
/u01/oracle
2. 字符转义
除了单引号可以进行转义外,使用右斜杠也可以进行转义:
oracle[~]$echo "\$ORACLE_HOME"
$ORACLE_HOME
oracle[~]$echo \$ORACLE_HOME
$ORACLE_HOME
3. 如何打印一些特殊字符(例如回车,制表符)?
如果没有加别的选项,\用于转义
oracle[~]$echo \\$ORACLE_HOME
\/u01/oracle
要打印一些特殊字符,那就需要使用-e选项配合右斜杠(\)
-e选项使用方法如下:
\a 发出警告声;
\b 删除前一个字符;
\c 最后不加上换行符号;
\f 换行但光标仍旧停留在原来的位置;
\n 换行且光标移至行首;
\r 光标移至行首,但不换行;
\t 插入tab;
\v 插入垂直方向上的制表符;
\\ 插入\字符;
\0NNN byte with octal value NNN (1 to 3 digits)
\xHH byte with hexadecimal value HH (1 to 2 digits)
在这个时候,需要加双引号:
1. 不换行输出(类似echo -n):
oracle[~]$echo -e "您好\c"
您好oracle[~]$
2. 输出tab:
oracle[~]$echo -e "商品\t\t 单价"
商品 单价
3. 输出某个8进制数表示的ascii码
oracle[~]$echo -e "\0123"
S
4. 输出某个16进制数表示的ascii码
oracle[~]$echo -e "\x53"
S