(4) Linux ----- Shell编程输入输出 ---- ②

来源:互联网 发布:淘宝限时抢在主页哪里 编辑:程序博客网 时间:2024/05/29 18:25

----------------------------------------------

read

echo
echo输出颜色与光标定位

----------------------------------------------

输入—read命令

格式

说明

read var

从标准输入读取一行并赋值给变量var

read

标准输入读取一行并赋值给内置变量REPLY

read -a arr

读入一组词,依次赋值给数组arr


示例

read -p "please input 5 digits:" -t 10 -a arr3

-p 提示语

-t 指定read命令等待输入的秒数


----------------------------------------------

输出—echo命令

输出一行文本

echo “Hello World”

输出一个变量值

echo $num 或 echo ${num}


例子

echo -n “Hello World”                  -n 不要在最后自动换行( echo在默认情况下是自带换行的 )
echo -e “\t” “Hello World”

-e 若字符串中出现以下字符,则特别加以处理,而不会将它当成一般文字输出:
   \a 发出警告声;
   \b 删除前一个字符;
   \c 最后不加上换行符号;
   \f 换行但光标仍旧停留在原来的位置;
   \n 换行且光标移至行首;
   \r 光标移至行首,但不换行;
   \t 插入tab;
   \v 与\f相同;
   \\ 插入\字符;
   \nnn 插入nnn(八进制)所代表的ASCII字符;

[root@p  shell]# echo "\t" "Hello World"         // "\t" 原样输出了,当成一般文字输出了\t Hello World [root@p  shell]# echo -e  "\t" "Hello World"     // 加上 -e  将"\t"解析成制表符  Hello World[root@panjinming shell]# 

----------------------------------------------

echo输出颜色与光标定位

\33[30m -- \33[37m   设置前景色 (字体颜色)
\33[40m -- \33[47m   设置背景色 (背景颜色)
\33[y;xH   设置光标位置

0:黑色 1:深红 2:绿色 3:黄色  4:蓝色 5:紫色 6:青色 7:白色


echo –e “\033[31mthis is a test”    //把前景色设置为了深红色

echo –e “\033[43mthis is a test”    //把背景色设置为了黄色

echo -e "\033[30m\033[47m"        //前景色设置为黑色  背景色设置为白色   可写为  echo -e "\033[30;47m" 

echo -ne "\33[32m" 可以将字符的显示颜色改为绿色
echo -ne "\33[3;1H" 可以将光标移到第3行第1列处

具体的摘抄一些如下:
\33[0m  关闭所有属性
\33[1m  设置高亮度
\33[4m  下划线
\33[5m  闪烁
\33[7m  反显
\33[8m  消隐
\33[30m -- \33[37m  设置前景色
\33[40m -- \33[47m  设置背景色
\33[nA  光标上移n行
\33[nB  光标下移n行
\33[nC  光标右移n行
\33[nD  光标左移n行
\33[y;xH设置光标位置
\33[2J  清屏
\33[K   清除从光标到行尾的内容
\33[s   保存光标位置
\33[u   恢复光标位置
\33[?25l  隐藏光标
\33[?25h  显示光标

----------------------------------------------

输出命令printf

1.printf的默认输出没有换行,换行需要自己加“\n”

2.printf支持格式化输出,要不怎么能叫printf呢

例子

printf  "%-10sWord\n" Hello

命令行输出: Hello     Word

其中 “-”表示左对齐     “10”表示Hello这个字符占10个字符长度输出    “s"表示输出的是字符串String

printf  "%4.2f\n" 5.12345

命令行输出:5.12

其中 "4"还是占4个字符长度 “.2”表示输出小数点后的两位 “f”表示输出的浮点型数Float









0 0
原创粉丝点击