echo string
e c h o命令有很多功能,其中最常用的是下面几个:
\c 不换行。
\f 进纸。
\t 跳格。
\n 换行。
,你可以让终端铃响一声,显
示出$ H O M E目录,并且可以让系统执行t t y命令(注意,该命令用键盘左上角的符号,法语中
的抑音符引起来,不是单引号, )。
[root@localhost etc]# echo "\007 your home directory is $HOME,you are connected on `tty`"
\007 your home directory is /root,you are connected on /dev/pts/1
如果是LINUX系统,那么......
必须使用- n选项来禁止echo命令输出后换行:
[root@localhost etc]# echo -n "what is your name:"
what is your name:[root@localhost etc]#
必须使用-e选项才能使转义符生效:
[root@localhost etc]# echo "\n\n\n"
\n\n\n
[root@localhost etc]# echo -e "\n\n\n"
[root@localhost etc]#
[root@localhost etc]# echo "nihao\t\thuangchengdu"
nihao\t\thuangchengdu
[root@localhost etc]# echo -e "nihao\t\thuangchengdu"
nihao huangchengdu
如果想把一个字符串输出到文件中,使用重定向符号>。在下面的例子中一个字符串被重
定向到一个名为m y f i l e的文件中:
$ echo "The log files have all been done"> myfile
或者可以追加到一个文件的末尾,这意味着不覆盖原有的内容:
$ echo "$LOGNAME carried them out at `date`">>myfile
myfile.txt的内容如下:
the log files have all been done
hello 2013年 11月 20日 星期三 22:22:56 CST
特殊字符前面加\来转换。
[root@localhost huangcd]# echo "\"/dev/rmt0"
"/dev/rmt0
[root@localhost huangcd]# echo "\"/dev/rmt0"\"
"/dev/rmt0"
可以使用r e a d语句从键盘或文件的某一行文本中读入信息,并将其赋给一个变量。如果只
指定了一个变量,那么r e a d将会把所有的输入赋给该变量,直至遇到第一个文件结束符或回车。
在下面的例子中,只指定了一个变量,它将被赋予直至回车之前的所有内容:
[root@localhost huangcd]# read name
nihao huangchengdu
[root@localhost huangcd]# echo $name
nihao huangchengdu
[root@localhost huangcd]# read name surname
huangchengdu huangchengdu1
[root@localhost huangcd]# echo $name
huangchengdu
[root@localhost huangcd]# echo $surname
huangchengdu1
创建一个脚本文件,内容如下:
#!/bin/bash
echo -e "first name:"
read name
echo -e "middle name:"
read middle
echo -e "last name:"
read surname
运行结果如下:
[root@localhost huangcd]# ./var_text.py
first name:
du
middle name:
cheng
last name:
huang