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 输出
答案 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 )