选项:
-n 不要输出衍生的新行
-e 启用反斜线转义解释
-E 禁用反斜线转义解释(默认)
如果使用-e选项,则可以使用如下转义序列:
\ 反斜线
\a 警告(BEL)
\b 反斜线
\c 不产生进一步输出
\e 转义
\f 换页
\n 新行
\r 换行字符
\t 水平制表
\v 垂直制表
\0NNN 八进制值表示的字节NNN(1到3个数字)
\xHH 十六进制值表示的字节NNN(1到2个数字)
#!/bin/bash
#上述行必须添加
#!代表这是一个可执行脚本;
#!后面是命令的路径名,指定解释脚本命令的程序;
#代表这是一个bash脚本,通过bash命令实现;
#!/bin/awk
#代表这是一个awk脚本,通过awk命令实现;
#定义变量的时候,“=”左右千万不要有空格啊
scripts_arg="-a -h"
scripts_num=9
#if后面有空格;[]中括号内空格隔开;if最后有分号;
#脚本是否运行在root权限下;
if [ `id -u` -ne 0 ];
then
echo "Must be root to run this scripts."
exit
fi
#比较安全的方法,清空文件内容
cat /dev/null > messages
# -n参数表示字符串是否非空;
#下述代表脚本的参数是否为空;
if [ -n "$1" ];
then
echo $1
lines=$1
else
echo "Is empty"
fi
#显示换行
echo -e "OK! \n" # -e 开启转义
echo "It is a test"
echo -e "OK! \c" # -e 开启转义 \c 不换行
#参数个数 2种方式都可以
echo -e $# 输出参数个数
echo -e "$#" 输出参数个数
echo '$#' 输出$#
echo -e $scripts_arg
echo -e "$scripts_arg"
echo -e $scripts_num
if [ $# -ne $scripts_num ];
then
echo -e "Love"
exit
fi
exit
1.显示结果定向至文件
echo "It is a test" > myfile
2.原样输出字符串,不进行转义或取变量(用单引号)
echo '$name\"'
输出结果:
$name\"
3.显示命令执行结果
echo `date`
结果将显示当前日期
Thu Jul 24 10:08:46 CST 2014
4.显示转义字符
echo "\"It is a test\""
结果将是:
"It is a test"
同样,双引号也可以省略