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输出。
发布于 2015-03-02 09:43:47
您不需要perl,您的shell可以处理它:
value=$(ls -ltr)
echo "$value"
回音时的引号很重要。
发布于 2015-03-02 10:30:02
在Perl中:
$var = `shell command`;
$var = qx( shell command );
在sh
中
var=`shell command`
var=$( shell command )
https://stackoverflow.com/questions/28806374
复制相似问题