当前时区为 UTC + 8 小时



发表新帖 回复这个主题  [ 4 篇帖子 ] 
作者 内容
1 楼 
 文章标题 : 关于cat用法的一点疑问?
帖子发表于 : 2009-07-11 18:40 
头像

注册: 2006-03-04 23:10
帖子: 888
地址: 江西高安
送出感谢: 0 次
接收感谢: 2
详见下面的代码,能否解释下cat的这种用法什么意思?
代码:
cat <<MAYDAY
 ----------------------------------------------------------
User: $USER          Host:$THIS_HOST         DATE:$MYDATE
----------------------------------------------------------
   1:List files in current directory
   2:Use the vi editor
   3:See who is on the system
   H:Help screen
   Q:Exit Menu   
----------------------------------------------------------
MAYDAY




代码:
#!/bin/bash
#menu
#set the date,user and hostname up
MYDATE=`date +%d/%m/%Y`
THIS_HOST=`hostname -s`
USER=`whoami`
#loop forever !
while :
do
 #clear the screen
 clear
 #here documents starts here
 cat <<MAYDAY
 ----------------------------------------------------------
User: $USER          Host:$THIS_HOST         DATE:$MYDATE
----------------------------------------------------------
   1:List files in current directory
   2:Use the vi editor
   3:See who is on the system
   H:Help screen
   Q:Exit Menu   
----------------------------------------------------------
MAYDAY

 #here document finished
echo -e -n "\tEnter Your Choice [1,2,3,H,Q] >"
read CHOICE
 case $CHOICE in
 1) ls
  ;;
 2) vi
 ;;
 3) who
 ;;
 H|h)
#use a here document for the help screen
cat <<MAYDAY
This is the help screen,nothing here yet to help you!
MAYDAY
 ;;
Q|q) exit 0
 ;;
 *) echo -e "\t\007unknown user response"
 ;;
esac
echo -e -n "\tHit the return key to continue"
read DUMMY
done


_________________
QQ:273247606
EMAIL:yanghui1986527@gmail.com


页首
 用户资料  
 
2 楼 
 文章标题 : Re: 关于cat用法的一点疑问?
帖子发表于 : 2009-07-11 18:49 
头像

注册: 2006-07-02 11:16
帖子: 12522
地址: 廣州
送出感谢: 0 次
接收感谢: 8
不关 cat 的事
这里的意思是把两个 MAYDAY 之间的内容作为 cat 的标准输入


_________________
^_^ ~~~
要理解递归,首先要理解递归。

地球人都知道,理论上,理论跟实际是没有差别的,但实际上,理论跟实际的差别是相当大滴。


页首
 用户资料  
 
3 楼 
 文章标题 : Re: 关于cat用法的一点疑问?
帖子发表于 : 2009-07-11 22:21 
头像

注册: 2007-09-14 21:03
帖子: 1143
地址: 浙江
送出感谢: 1
接收感谢: 1
那 <<< 三个连在一起呢?


_________________
Say hello to everyday!


页首
 用户资料  
 
4 楼 
 文章标题 : Re: 关于cat用法的一点疑问?
帖子发表于 : 2009-07-11 22:29 
头像

注册: 2006-07-02 11:16
帖子: 12522
地址: 廣州
送出感谢: 0 次
接收感谢: 8
代码:
   Here Documents
       This  type  of  redirection  instructs the shell to read input from the
       current source until a line containing  only  word  (with  no  trailing
       blanks)  is seen.  All of the lines read up to that point are then used
       as the standard input for a command.

       The format of here-documents is:

              <<[-]word
                      here-document
              delimiter

       No parameter expansion, command substitution, arithmetic expansion,  or
       pathname expansion is performed on word.  If any characters in word are
       quoted, the delimiter is the result of quote removal on word,  and  the
       lines  in the here-document are not expanded.  If word is unquoted, all
       lines of the here-document are subjected to parameter  expansion,  com-
       mand  substitution,  and arithmetic expansion.  In the latter case, the
       character sequence \<newline> is ignored, and \ must be used  to  quote
       the characters \, $, and `.

       If the redirection operator is <<-, then all leading tab characters are
       stripped from input lines and  the  line  containing  delimiter.   This
       allows  here-documents within shell scripts to be indented in a natural
       fashion.

   Here Strings
       A variant of here documents, the format is:

              <<<word

       The word is expanded and supplied to the command on its standard input.


_________________
^_^ ~~~
要理解递归,首先要理解递归。

地球人都知道,理论上,理论跟实际是没有差别的,但实际上,理论跟实际的差别是相当大滴。


页首
 用户资料  
 
显示帖子 :  排序  
发表新帖 回复这个主题  [ 4 篇帖子 ] 

当前时区为 UTC + 8 小时


在线用户

正在浏览此版面的用户:没有注册用户 和 3 位游客


不能 在这个版面发表主题
不能 在这个版面回复主题
不能 在这个版面编辑帖子
不能 在这个版面删除帖子
不能 在这个版面提交附件

前往 :  
本站点为公益性站点,用于推广开源自由软件,由 DiaHosting VPSBudgetVM VPS 提供服务。
我们认为:软件应可免费取得,软件工具在各种语言环境下皆可使用,且不会有任何功能上的差异;
人们应有定制和修改软件的自由,且方式不受限制,只要他们自认为合适。

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
简体中文语系由 王笑宇 翻译