帮酷LOGO
0 0 评论
  • 显示原文与译文双语对照的内容
文章标签:命令行  variable  输出  Redirect  RED  COMM  VAR  COM  

问题:

我很有趣,将两个命令的输出定向到一个变量。 我不希望输出显示在屏幕上,而是指定给脚本中的变量,以便可以再次使用它。

我正在做的是使用下面的命令从一个目录获取文件大小:


ls -l/var/spool | wc -c



这个命令以字节为单位获取文件大小,并将输出显示为整数。 我感兴趣把这个整数分配给我喜欢的变量,以便以后可以对它的他变量进行比较。

这似乎不起作用:


size = ls -l/var/spool | wc -c



重定向工作?

像这样。


ls -l/var/spool | wc -c> size



无论怎样,我希望这个数值输出被分配给一个变量,而不显示在屏幕上。

任何建议都非常欢迎 !


回答 1:

看起来很简单。


romano@RRyS:~$ size=$(ls -l/var/spool | wc -c)


romano@RRyS:~$ echo $size


476



shell 语法 $(command) 执行 command,并返回标准输出: 只需将它保存在变量中。

你的命令:


ls -l/var/spool | wc -c> size 



将在当前目录( 包含数字和换行符的) 中创建名为 size的文件。


回答 2:

如果你希望仅使用重定向,则我更喜欢由的答案提供的解决方案,但如果你想使用重定向:


read size <<(ls -l/var/spool | wc -c)






文章标签:COM  COMM  RED  命令行  OUT  VAR  输出  variable  

Copyright © 2011 HelpLib All rights reserved.    知识分享协议 京ICP备05059198号-3  |  如果智培  |  酷兔英语