linux命令中的“<”和“|”是什么意思?

如:$ .cat < /etc/motd | ./a.out
请高手们赐教!!谢谢!
太诡异了,这明明是我去年发布的问题,怎么变成昨天了!!

”<” 表示的是输入重定向的意思,就是把<后面跟的文件取代键盘作为新的输入设备。
”| ”则表示一个管道的意思,可以理解为东西从管道的一边流向另外一边。

程序呢? 简单的说shell程序就是一个包含若干行

shell或者linux命令的文件.

象编写高级语言的程序一样,编写一个shell程序需要一个文本编辑器.如VI等。

在文本编辑环境下,依据shell的语法规则,输入一些shell/linux命令行,形成一个完整
的程序文件.

执行shell程序文件有三种方法

(1)#chmod +x file(在/etc/profile中,加入export PATH=$:~/yourpath,就可以在命令行下直接运行,像执行普通命令一样)

(2)#sh file

(3)# . file

(4)#source file 

在编写shell时,第一行一定要指明系统需要那种shell解释你的shell程序,如:

#! /bin/bash,

#! /bin/csh,/bin/tcsh,

#! /bin/pdksh .

2.shell中的变量

定义变量

shell语言是非类型的解释型语言,不象用C++/JAVA语言编程时需要事先声明变量.给一
个变量赋值,实际上就是定义了变量.

在linux支持的所有shell中,都可以用赋值符号(=)为变量赋值.

如:

abc=9 (bash/pdksh不能在等号两侧留下空格 )

set abc = 9 (tcsh/csh)

由于shell程序的变量是无类型的,所以用户可以使用同一个变量时而存放字符时而存放
整数.

位置变量
当运行一个支持多个命令行参数的shell程序时,这些变量的值将分别存放在位置变量里.

其中第一个参数存放在位置变量1,第二个参数存放在位置变量2,依次类推...,shell保留
这些变量,不允许用户以令外的方式定义他们.同别的变量,用$符号引用他们.

温馨提示:内容为网友见解,仅供参考
第1个回答  推荐于2017-11-24
< 表示的是输入重定向的意思,就是把<后面跟的文件取代键盘作为新的输入设备。
| 则表示一个管道的意思,可以理解为东西从管道的一边流向另外一边。
你的命令意思就是说从/etc/motd文件中读取内容,然后把cat命令读取出来的内容作为后面一个命令 a.out的输入参数来执行a.out命令。
不知道这样解释明白吗?本回答被提问者采纳
第2个回答  2011-11-12
cat < /etc/motd | ./a.out
cat 查看
<小于号 和 >大于号的意思不一样的 那次我考selinux 就是应为多了一个> 结果挂了 哭啊 就差几分 所以我记忆深刻啊

大概意思是 查看 来至于 /etc/motd 的这个文件 这个文件里应该是相关的参数
然后根据这些参数 在执行 ./a.out
就这么个意思 不懂再问
第3个回答  2011-11-12
|是管道命令,<是输出指向
第4个回答  2011-11-09
|是管道命令,<是输出指向
相似回答