1

我正在尝试通过以下方式从 perl 脚本运行 bsub 命令:

system ("bsub -select "testid::1" -q normal");

但我认为 perl 会因为"testid::1". 实现这一点的正确方法是什么?

4

2 回答 2

6

您可以转义内部引号:

system ("bsub -select \"testid::1\" -q normal");

或者用单引号替换外部引号,或者实际上是任何字符,这要归功于qqPerl 中的广义引号运算符,它恰好存在于这种场景中;

system (qq{bsub -select "testid::1" -q normal});

有一个伴随的广义单引号运算符q

于 2014-08-20T13:18:53.827 回答
1

system您可以使用多参数版本的来避免需要引用整个命令行,而不是将整个命令放在一个带引号的字符串中(尽管使用通用的引号运算符会很简单) 。

system 'bsub', 'select[type==LINUX64&&clearcase]', '-select', 'testid::1', '-q' 'normal';
于 2014-08-20T13:29:02.743 回答