在bash脚本中组合perl命令

时间:2015-03-02 09:29:48

标签: linux bash perl

Perl是将命令输出存储到变量的优秀语言 据我所知,bash不支持

例如

my $value = qx(ls -ltr);
print $value;

它将打印:(示例)

 -r-xr-xr-x 1 root     root          761 May 30  2014 ASon.conf
 -r-xr-xr-x 1 root     root          699 May 30  2014 ascpl
 drwxr-xr-x 2 root     root         4096 Feb 24 13:22 da
 drwx------ 2 root     root         4096 Feb 25 08:08 vm-root
 drwxr-x--- 2 root     root         4096 Feb 25 08:10 hspeoot
 -rw-r--r-- 1 root     root         2451 Feb 25 16:12 gry.txt
 -rw-r--r-- 1 root     root         3112 Mar  1 09:49 new.xml
 -rw-r--r-- 1 root     root        44893 Mar  1 12:13 SMports.xml
 -rwxr-xr-x 1 root     root          101 Mar  2 09:56 test
 -rwxr-xr-x 1 root     root    461340404 Mar  2 10:20 audin.log

问题是我用bash编写代码 我想在我的bash脚本中使用Perl add值

那么可以在我的bash脚本中组合以下行吗?

  my $value = qx(ls -ltr);

当我打印变量时,它将打印 ls -ltr 输出

2 个答案:

答案 0 :(得分:4)

你不需要perl,你的shell可以处理它:

value=$(ls -ltr)
echo "$value"

回音时的引号非常重要。

答案 1 :(得分:2)

Perl:

$var = `shell command`;
$var = qx( shell command );

sh

var=`shell command`
var=$( shell command )