2017-10-19 27 views
1

J'ai une commande linux:Créer une chaîne Java forment une commande linux

sudo su - -c "echo 'exit 1'> /usr/lib/ocf/resource.d/oom_check_ocf.bsh" 

Je veux créer cette commande et le stocker dans une chaîne.

La partie d'extrémité de la chaîne sera une variable healthScript, comme

healthScript= /usr/lib/ocf/resource.d/oom_check_ocf.bsh 

Ce que j'ai essayé:

"sudo su - -c"+" "echo 'exit 1' > +healthScript"" 

Je suis confus parce que la commande linux a des guillemets doubles dans ce, qui sont utilisés pour envelopper la commande exécutée, qui est:

echo 'exit 1'> /usr/lib/ocf/resource.d/oom_check_ocf.bsh 

Comment puis-je écrire un str ing qui a des doubles guillemets à l'intérieur?

Répondre

1

vous devez échapper ""

String healthScript="sudo su - -c \""+"echo 'exit 1'> /usr/lib/ocf/resource.d/oom_check_ocf.bsh\""; 
    System.out.println(healthScript); 

sortie:sudo su - -c "echo 'exit 1'> /usr/lib/ocf/resource.d/oom_check_ocf.bsh"