1

次の方法で、perl スクリプトから bsub コマンドを実行しようとしています。

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

しかし、 の二重引用符のために perl が混乱していると思います"testid::1"。これを実装する適切な方法は何ですか?

4

2 に答える 2

6

内側の引用符をエスケープできます。

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

qqまたは、この種のシナリオのために正確に存在する Perl の一般化された引用演算子のおかげで、外側の引用符を一重引用符、または実際には任意の文字に置き換えます。

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 に答える