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
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
相关文章推荐
- bash: ./t.sh:/bin/bash^M:损坏的解释器: 没有那个文件或目录
- linux下保留文件系统下剩余指定数目文件的shell脚本
- 如何编写健壮的Bash脚本(经验分享)
- bash中的命令基本操作
- linux shell编程指南第四章------文件名置换
- 希尔排序(Shellsort)
- adb shell getevent
- shell基础
- shell编程的一些例子1
- 如何编写健壮的Bash脚本(经验分享)
- 批量关机Stop-Computer by powershell
- shell脚本-利用check_snmp查看远程linux操作系统版本
- linux 服务器被DDOS攻击防御的SHELL脚本
- bash应用技巧
- bash: scp: command not found lost connection问题解决
- 在shell脚本中调用另一个脚本的三种不同方法(fork, exec, source)
- shell find 语法
- Linux Shell自定义快捷指令
- 基于shell写的一个简单的人机交互的测试框架
- 用node.js 写shell sciprt 要了解的shell知识