Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我正在尝试通过以下方式从 perl 脚本运行 bsub 命令:
system ("bsub -select "testid::1" -q normal");
但我认为 perl 会因为"testid::1". 实现这一点的正确方法是什么?
"testid::1"
您可以转义内部引号:
system ("bsub -select \"testid::1\" -q normal");
或者用单引号替换外部引号,或者实际上是任何字符,这要归功于qqPerl 中的广义引号运算符,它恰好存在于这种场景中;
qq
system (qq{bsub -select "testid::1" -q normal});
有一个伴随的广义单引号运算符q。
q
system您可以使用多参数版本的来避免需要引用整个命令行,而不是将整个命令放在一个带引号的字符串中(尽管使用通用的引号运算符会很简单) 。
system
system 'bsub', 'select[type==LINUX64&&clearcase]', '-select', 'testid::1', '-q' 'normal';