perl - 如何在 perl 脚本中使用 shell 命令结果?

标签 perl shell

谁能告诉我,如何在 Perl 脚本中使用 shell 命令结果?

#!/usr/bin/perl
$whoami=`whoami`;
system ('cd /var/home/'.$whoami.'/htdocs');
print $whoami;

脚本输出

[user1@srv _1]$ ./sys.pl
sh: line 1: /htdocs: No such file or directory
user1

我想将目录更改为/var/home/user1/htdocs

最佳答案

$whoami 包含结束符 \n,这会使您的命令字符串看起来像:

cd /var/home/user1
/htdocs

您应该使用 chomp$whoami 中删除尾随换行符:

my $whoami = `whoami`;
chomp $whoami;

关于perl - 如何在 perl 脚本中使用 shell 命令结果?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9463708/

相关文章:

linux - 虽然使用 bash 脚本编辑文件有效,但最后显示错误为 "sed: can' t read "No such file or directory"

regex - 在 Perl 中使字符串对正则表达式安全

perl - 使用 awk 或 sed 不可能进行负向前瞻,但仅 Perl 支持

bash - 如何使用 sed 替换特定单词后的文本?

linux - 为单词列表中的每个单词创建一个包含匹配项的文件

shell - 谁调用这个函数?

perl - 如何延迟加载 Perl 变量?

perl - 如何使用 Perl 的 Archive::Tar 压缩大于物理内存的文件?

perl - Perl 中的哈希键可以有多个 'subvalues' 吗?

bash - Grep apache 服务器 500 错误到一个单独的文件