相关疑难解决方法(0)

如何将系统命令的结果存储在Perl变量中?

$ cat test.pl
my $pid = 5892;
my $not = system("top -H -p $pid -n 1 | grep myprocess | wc -l");
print "not = $not\n";
$ perl test.pl
11
not = 0
$
Run Code Online (Sandbox Code Playgroud)

我想将结果捕获11到变量中.我怎样才能做到这一点?

perl command system

22
推荐指数
3
解决办法
10万
查看次数

Echo扩展了PS1

我有一个shell脚本,在几个目录(fgit)中运行相同的命令.对于每个目录,我希望它显示当前提示+将在那里运行的命令.如何获得与解码(扩展)对应的字符串PS1?例如,我的默认PS1是

${debian_chroot:+($debian_chroot)}\[\e[1;32m\]\u\[\e[0m\]@\[\e[1;32m\]\h\[\e[0m\]:\[\e[1;34m\]\w\[\e[0m\]$(__git_ps1 ' (%s)')$
Run Code Online (Sandbox Code Playgroud)

我想回应最终的提示username@hostname:/path$,最好(但不一定)用漂亮的颜色.粗略地看一下Bash手册没有透露任何明确的答案,echo -e $PS1只评估颜色.

bash ps1

21
推荐指数
4
解决办法
1万
查看次数

如何将shell脚本翻译为Perl?

我有一个shell脚本,非常大.现在我的老板说我必须用Perl重写它.有没有办法编写Perl脚本并使用现有的shell代码,就像在我的Perl脚本中一样.类似于Inline :: C的东西.

是否有像Inline :: Shell这样的东西?我看了一下内联模块,但它只支持语言.

shell perl

15
推荐指数
3
解决办法
1万
查看次数

如何打印当前的bash提示符?

问题很简单.我想评估PS1我的bash脚本中的当前值.

谷歌上的所有材料都指向了拉皮条的教程,但我想评估一下它将如何由我当前的终端呈现,或者至少由某个终端呈现.

是否有任何软/功能可以帮助我实现这一目标?当然我想要评估所有转义字符,所以echo $PS1在我的情况下这不是很有用.

bash prompt ps1

11
推荐指数
2
解决办法
7787
查看次数

我们可以在 perl 脚本中获取 shell 脚本吗

我们可以在 perl 脚本中获取 shell 脚本吗?

示例: 方案 1:

cat test1.sh
#!/bin/ksh
DATE=/bin/date
Run Code Online (Sandbox Code Playgroud)

方案2:

cat test2.sh
#!/bin/ksh
. ./test1.sh  
echo `$DATE`
Run Code Online (Sandbox Code Playgroud)

方案3:

cat test3.pl
#!/usr/bin/perl
### here I need to source the test1.sh script
print `$DATE`'
Run Code Online (Sandbox Code Playgroud)

如何在 perl 中获取 shell 以便在执行 test3.pl 时打印日期

谢谢拉古

perl

5
推荐指数
1
解决办法
2万
查看次数

如何从perl脚本运行"source"命令(Linux)?

我正在尝试source从Perl脚本(script.pl)编写脚本.

system ("source /some/generic/script");
Run Code Online (Sandbox Code Playgroud)

请注意,此通用脚本可以是shell,python或任何其他脚本.此外,我无法将此通用脚本中的逻辑复制到我的Perl脚本中.我试着替换system`` exec,和qx//.每次我收到以下错误:

不能执行"source":script.pl第18行没有这样的文件或目录.

我在互联网上遇到了很多论坛,讨论了这个问题的各种原因.但他们都没有提供解决方案.有没有办法source从Perl脚本运行/执行命令?

linux bash shell perl

1
推荐指数
2
解决办法
3011
查看次数

标签 统计

perl ×4

bash ×3

ps1 ×2

shell ×2

command ×1

linux ×1

prompt ×1

system ×1