LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 970|回复: 6

请教一下如何将一个标准输出赋于一个变量?

[复制链接]
发表于 2007-1-17 16:17:16 | 显示全部楼层 |阅读模式

echo "hehe"|xxx

记得之前有看到过,但忘了
发表于 2007-1-17 16:38:09 | 显示全部楼层
这命令替换久可以了吧,
test = `ls -al`
echo $test
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-1-17 16:52:16 | 显示全部楼层
这样当然可以,但写一个脚本需要在管道中实现
回复 支持 反对

使用道具 举报

发表于 2007-1-18 10:34:13 | 显示全部楼层
Post by kevin.tan
但写一个脚本需要在管道中实现


什么意思 ?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-1-18 11:44:49 | 显示全部楼层
情况是这样的,

在awk中需调用shell,即将$1值赋于一个变量,在shell中执行一些操作,然后又需要将结果反馈给awk ,可能我表达得不清楚,

或是说,能否将echo "work"在管道中将输出赋于变量"$a"?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-1-18 20:09:21 | 显示全部楼层
只能在sub shell中:
[root@CentOS local]# echo "works"|(read name;echo $name)
works
回复 支持 反对

使用道具 举报

发表于 2007-1-18 20:42:55 | 显示全部楼层
man awk

  1.                command | getline
  2.                      pipes  a  record  from  command  into  $0 and updates the
  3.                      fields and NF.

  4.                command | getline var
  5.                      pipes a record from command into var.

  6.        Getline returns 0 on end-of-file, -1 on error, otherwise 1.

  7.        Commands on the end of pipes are executed by /bin/sh.
复制代码
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表