Alex_linux 发表于 2004-10-27 21:29:04

请大家帮忙,讲讲关于 echo 的用法详细的

越详细,越好...我看到好多地方用到..echo

例如:echo 1 >**/***/
一点都不明白...请大家讲讲echo具体用法

MichaelBibby 发表于 2004-10-27 23:10:32

其实echo命令比较简单,这里是echo命令的man文档,你可以看看。
我想你不明白的,应该是后面的一串,主要是这个(I/O重定向):

1 >

echo的man文档,From CMPP:

NAME(名称)
echo - 显示一行文本
SYNOPSIS(总览)
echo[OPTION]... [STRING]...
DESCRIPTION(描述)

允许在标准输出上显示STRING(s).

-n 不输出行尾的换行符.
-e 允许对下面列出的加反斜线转义的字符进行解释.
-E 禁止对在STRINGs中的那些序列进行解释.
--help 显示帮助并退出(须单独运行)
--version 输出版本信息并退出(须单独运行)

在没有 -E 的情况下,可承认并可以内置替换以下序列:


\NNN
    字符的ASCII代码为NNN(八进制)

\\
    反斜线

\a
    报警符(BEL)

\b
    退格符

\c
    禁止尾随的换行符

\f
    换页符

\n
    换行符

\r
    回车符

\t
    水平制表符

\v
    纵向制表符


REPORTING BUGS(报告BUGS)
报告bugs,请发邮件到<[email protected]>.
SEE ALSO(另见)
以Texinfo手册形式维护的 echo 完全文档.如果你正确地安装了 info 和 echo 命令

    info echo

应该可以使你访问到整个手册.
COPYRIGHT(版权)
版权所有 © 1999 Free Software Foundation, Inc.
这是自由软件;参看复制条件的源文件.不作任何担保, 更不用说商品性或者基于特殊目的的适用性.

Alex_linux 发表于 2004-10-28 08:40:23

谢谢,,收获不小

Alex_linux 发表于 2004-10-28 08:42:35

最好据些常用例子,讲一下,就更好了

MichaelBibby 发表于 2004-10-28 08:45:57

最好据些常用例子,讲一下,就更好了
你要的是echo的例子,还是I/O重定向的例子? :oops:

Alex_linux 发表于 2004-10-28 09:17:20

还是I/O重定向的例子吧....有劳斑竹了

MichaelBibby 发表于 2004-10-28 13:27:00

看看这个,希望对你有用。有什么不明白的地方,跟贴发问就行
CU:

常用文件重定向命令
command > filename 把把标准输出重定向到一个新文件中
command >> filename 把把标准输出重定向到一个文件中(追加)
command 1 > fielname 把把标准输出重定向到一个文件中
command > filename 2>&1 把把标准输出和标准错误一起重定向到一个文件中
command 2 > filename 把把标准错误重定向到一个文件中
command 2 >> filename 把把标准输出重定向到一个文件中(追加)
command >> filename 2>&1 把把标准输出和标准错误一起重定向到一个文件中(追加)
command < filename >filename2 把command命令以filename文件作为标准输入,以filename2文件作为标准输出
command < filename 把command命令以filename文件作为标准输入
command << delimiter 把从标准输入中读入,直至遇到delimiter分界符
command <&m 把把文件描述符m作为标准输入
command >&m 把把标准输出重定向到文件描述符m中
command <&- 把关闭标准输入

Alex_linux 发表于 2004-10-28 17:33:27

如果不想让别人在网络上 ping 到自己的机器,可以这么做:
代码:
# echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all
,依这个为例,讲讲啊]
我就不理解,,一个文件重新定向了结果是怎么样??不顶象结果又怎么样呢???(我太菜啊,呵呵)

BOoRFGOnZ 发表于 2004-10-28 19:04:39

如果不想让别人在网络上 ping 到自己的机器,可以这么做:
代码:
# echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all
,依这个为例,讲讲啊]
我就不理解,,一个文件重新定向了结果是怎么样??不顶象结果又怎么样呢???(我太菜啊,呵呵)
0 代表标准输入(stdin)
1 代表标准输出(stdout)
2 代表标准错误(stderr)

echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all
是把所有的ping返回值 返回icmp ignore(中断)

Alex_linux 发表于 2004-10-28 20:55:18

能在找个简单的echo 1>*********的例子嘛??还不明白!@_@

BOoRFGOnZ 发表于 2004-10-28 20:59:32

echo 1>$2
将标准输入到标准错误流的输出地方

MichaelBibby 发表于 2004-10-29 13:39:06

能在找个简单的echo 1>*********的例子嘛??还不明白!@_@

echo "hello" > /tmp/file

打开/tmp/file文件看看就知道这个命令是什么意思了。

Alex_linux 发表于 2004-11-6 08:58:20

如果不想让别人在网络上 ping 到自己的机器,可以这么做:
代码:
# echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all


比如这个,1 代表输出的重新定向,也就是把 icmp_echo_ignore_all的输出重新定向了
那它的输出定向倒那里了呢???????不重新定向的话有输出那里呢?????

MichaelBibby 发表于 2004-11-6 09:32:23

# echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all

比如这个,1 代表输出的重新定向,也就是把 icmp_echo_ignore_all的输出重新定向了
那它的输出定向倒那里了呢???????不重新定向的话有输出那里呢?????
兄弟理解错了

这里的 1 便是重定向的内容
而 >后的/proc/sys/net/ipv4/icmp_echo_ignore_all便是重定向的位置。

如果不重定向,默认是输出到“标准输出” -- 一般是屏幕和终端。

llc 发表于 2004-11-6 09:35:50

:o 明白不少,谢谢了!
页: [1] 2
查看完整版本: 请大家帮忙,讲讲关于 echo 的用法详细的