您的位置:首页 > 运维架构 > Shell

linux shell编程指南第五章------shell输入与输出

2013-11-20 23:38 393 查看
使用e c h o命令可以显示文本行或变量,或者把字符串输入到文件。它的一般形式为:

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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: