linux学习之shell脚本 ------- 输入与输出
[本文是自己学习所做笔记,欢迎转载,但请注明出处:http://blog.csdn.net/jesson20121020]
前面介绍了Shell脚本的基础和运算符等,今天再来看一下关于Shell脚本的输入与输出。
Shell输入与输出的一些命令:
echo
read
cat
管道
tee
exec
Shell输入与输出的一些概念:
文件重定向
标准输入、输出和错误
合并标准输出和标准错误
使用文件描述符
下面,我们挨个看每个命令的用法:
输入输出命令的用法:
1. echo
该命令的作用是可以显示文本行或变量,或者把字条串输入到文件.
用法:
echo [option] string
- -e 解析转义字符
- -n 回车不换行,linux系统默认回车换行
- 转义符 (\c(回车不换行),\f(静止),\t(tab),\n(回车换行))
例子:
echotest.sh
#!/bin/bash
#echotest
echo -e "we are\f testing echo\tcommand\n\n"
echo -n "we are testing echo command"
echo "OK"
echo
echo "we are testing echo command\n\n"
echo "output this string to file">echo_output.txt 给予可执行权限,并执行该脚本,如下:
jesson@jesson-HP:~/develop/workspace/shell_workspace$ chmod a+rx echotest.sh
jesson@jesson-HP:~/develop/workspace/shell_workspace$ ./echotest.sh
we are
testing echocommand
we are testing echo commandOK
we are testing echo command\n\n
2. read
read命令可以从键盘或文件的某一行文本中读入信息,并将其赋值给一个变量。
用法:
read var1 var2 ...
- 如果只指定一个变量,那么read将会把所有的输入赋给该变量,直至遇到第一个文件结束符或回车;如果给出了多个变量,它们按顺序分别被赋予不同的变量。shell将用空格作为变量之间的分隔符。
例子:
readtest.sh
#!/bin/bash
#readtest
echo -n "First Name:"
read firstname
echo -n "Last Name:"
read lastname
echo -e "Your first name is:$firstname"
echo -e "Your last name is:$lastname"
echo -n "province and city:"
read province city
echo -e "Your address provice:${province}"
echo -e "Your address city:${city}" 给予权限,执行脚本:
jesson@jesson-HP:~/develop/workspace/shell_workspace$ chmod a+rx readtest.sh
jesson@jesson-HP:~/develop/workspace/shell_workspace$ ./readtest.sh
First Name:Steve
Last Name:Jobs
Your first name is:Steve
Your last name is:Jobs
province and city:California San Francisco
Your address provice:California
Your address city:San Francisco
3. cat
cat是一个简单而通用的命令,可以用它来显示文件内容、创建文件,还可以用它来显示控制字符。
用法:
- -v 显示控制字符
例子