版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/yueludanfeng/article/details/83002300
cat命令
##显示并标记行号
cat -n test
##显示内容,只对非空白行标行号
cat -b test
##对多个空白行进行处理,如果有多行空白行,只显示一行空白行
cat -s test
在每行末尾放置一个$符号,用于清楚地显示具体的每行结尾
cat -e test
将文件从后往前翻转
tac test
实例
输入重定向
cat test.sh
#!/bin/sh
HOSTS=${HOSTS:$1} #如果$HOST为空,则设置HOSTS变量的值为$1
while read -p "host to check " hostname
do
if [ -z "$hostname" ];then
echo "quitting due to blank input "
break
fi
ping -c1 -w1 $hostname > /dev/null 2>&1
if [ $? -eq 0 ];then
echo "contact made with $hostname"
else
echo "Failed to make contact with $hostname"
fi
done < $HOSTS
here文档
cat test01.sh 语法正确
cat <<EOF
how
are
you doing
now
EOF
cat test02.sh 语法正确
cat <<-EOF
how
are
you doing
now
EOF
cat test03.sh 语法错误
cat <<EOF
how
are
you doing
now
EOF
echo命令
不换行输出
echo -n
$echo -n "123"
$echo "456"
最终输出
123456
而不是
123
456
输出的时候解析特殊字符
echo -e
若字符串中出现以下字符,则特别加以处理,而不会将它当成一般文字输出:
\a 发出警告声;
\b 删除前一个字符;
\c 最后不加上换行符号;
\f 换行但光标仍旧停留在原来的位置;
\n 换行且光标移至行首;
\r 光标移至行首,但不换行;
\t 插入tab;
\v 与\f相同;
\ 插入\字符;
$echo -e "a\ndddd" //自动换行
a
dddd