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");
qqまたは、この種のシナリオのために正確に存在する Perl の一般化された引用演算子のおかげで、外側の引用符を一重引用符、または実際には任意の文字に置き換えます。
qq
system (qq{bsub -select "testid::1" -q normal});
コンパニオンの一般化された単一引用符演算子がありqます。
q
コマンド全体を一重引用符で囲んだ文字列に収めるのではなく (ただし、一般化された引用演算子を使用するとかなり簡単になります)、複数引数バージョンの を使用しsystemて、コマンド ライン全体を引用する必要がなくなります。
system
system 'bsub', 'select[type==LINUX64&&clearcase]', '-select', 'testid::1', '-q' 'normal';