ChinaUnix.net
相关文章推荐:

shell 管道

shell 脚本中 我想利用awk提取 ls -a 内容的第一项内容 脚本如下: command="ls -l | awk ' NR==2 {print \$1 }'" echo $command $command 解释: 将命令ls -l | awk ' NR==2 {print \$1 }'作为字符串作为命令赋值给command,再执行command 执行过程中为什么 把管道当作了 ls的参数?? 该怎么解决? 初学者谢谢大家

by majunzhen - 程序开发 - 2006-08-17 12:43:17 阅读(573) 回复(2)

相关讨论

比如echo abc|my.sh这种??用shell处理

by 大红机器 - Shell - 2006-05-30 14:50:51 阅读(2129) 回复(6)

现在有这么一个需求,需要把printf的内容传递给自己写的一个shell文件中 我的想法现在是这样的 /usr/bin/printf "%b" "***** Nagios *****\nNotification Type: \n"|./test.sh test.sh的内容是 #!/bin/bash a=($1) echo ${a} 但这样做,并不能把printf的内容传递过来 有什么办法或者怎么写才能传递过来呢?? 我就不明白了,为啥/usr/bin/printf "%b" "***** Nagios *****\nNotification Type: \n"|wc -l 就能显示出数字2 wc...

by liuhanzhao - Shell - 2009-07-23 16:04:22 阅读(1302) 回复(5)

linux里面 用perl调用类似命令 `grep ..| awk "{print $1}" | sed 's/|//'` 每次都只返回第一次grep的结果,但是在shell下面直接执行是可以的,请问是为什么?

by yihucha - Perl - 2009-03-01 15:25:44 阅读(4225) 回复(10)

大致是下面这样的情况:    program -argv -argv …… | egrep '……' | logger -p local0.notice 希望实现的功能是长期执行一个程序,将其输出进行实时过滤,再将过滤出来的有用信息传递给logger记录到syslog里面去。现在想要这段东西搞成标准daemon的样子,先是用 start-stop-daemon --start -b -p /var/log/pid.pid -m --exec program -- -argv -argv …… | egrep '……' | logger -p local0.notice 来做,但是好...

by 急不通 - Shell - 2008-06-13 09:53:15 阅读(3018) 回复(6)

比如我写了一个shell trimfile.sh ls -l|awk '{print $9}'|xargs trimfile.sh 需要做什么处理吗?谢谢

by Spanley - Shell - 2004-11-29 17:11:00 阅读(1397) 回复(4)

shell在执行一个外部程序的时候,会首先fork一个子进程,然后exec,替换进程空间 经常看到论坛上有人说在使用管道的时候,当前shell会产生一个子shell来执行管道中的命令 这使我产生了一个疑问:单独执行两个外部命令cmda和cmdb(或者使用cmda; cmdb这种方式) 与 cmda | cmdb这两种执行方式是不是产生的进程个数是不一样的? 为了验证我的猜测,写了一个小程序,用来打印进程的PID和PPID: [code] liuxiang@MacBookPro: ~/caseco...

by lululau - Shell - 2009-06-19 08:58:16 阅读(12499) 回复(48)

各位好,现在小弟有一个问题,是父shell如何取得管道中变量的问题,如下所示: xinet_serv_list="" echo " telnet ftp #uucp wsmserver #xmquery "|grep -Ev "^[ \t]*(#|$)"|while read line do tmp=$(echo $line|cut -f1 -d#) if [ ${#xinet_serv_list} -eq 0 ] then xinet_serv_list="$tmp" else xinet_serv_list="${xinet_serv_list}\n$tmp" fi done echo -e $xinet_serv_list 由于whil...

by liujw2001 - Shell - 2008-11-28 10:47:16 阅读(1464) 回复(3)

现在我有一个问题向大家请教,是关于bash管道变量的,我们都知道,在bash中所的管道都是在子shell中运行的,如下所示: liujw@~$ ps -o pid,ppid,comm|cat1|cat2 PID PPID COMMAND 5559 5558 bash 5605 5559 ps 5606 5559 cat1 5607 5559 cat2 其中cat1与cat2是cat的副本,只是为了区别另写的名字。 从中可以看到,ps,cat1,cat2都是5559的子shell,按子shell变量的继承原则,子shell是看不到父shell中的局部变量。 如...

by liujw2001 - Shell - 2008-11-26 22:49:11 阅读(2292) 回复(4)

昨天在玩python的有名管道通信的时候,顺便尝试了一下用shell实现利用有名管道来进行脚本间通信,一个简单的例子,供大家参考,在编写需要两个脚本互相通信的脚本时可能有用: 先建立一个有名管道: mkfifo mytest #client.sh #!/bin/bash while ((1)) do echo -n "==>" read a if [ "$a" == "quit" ];then echo $a > mytest break fi echo $a > mytest done #server.sh #!/bin/bash ...

by gucuiwen - Shell - 2012-02-27 23:34:46 阅读(2440) 回复(1)

各位大侠, 怎样用C/C++实现shell中的重定向和管道功能呢? (> , <, | ) 另外,附带再问一个问题, readline库文件在哪个文件夹下面呢? 老师说编译的时候让我们带上这个库文件,是不是需要 g++ -L (库文件的路径/readline.h) xxxx.cpp -0 yyy 这个格式呢? 谢谢了!

by songna - C/C++ - 2008-11-05 14:10:54 阅读(5016) 回复(4)