Shell (bash) brace expansion with Java's runtime.exec

前端 未结 1 1559
轮回少年
轮回少年 2021-01-22 23:33

I\'m trying to get an expansion command to work with runtime.exec, but the braces are being interpreted as literals rather than being expanded. Here\'s what I\'m trying to do:

1条回答
  •  失恋的感觉
    2021-01-22 23:57

    You're trying to use Bash wildcards. They are interpreted within the Bash shell. You are running mkdir directly, so there is no shell to interpret {}. You need to specify path to the shell

    String command = "mkdir -p Foldername{1,2,3}/InnerFolder";
    Runtime.getRuntime().exec( new String[] { "/bin/bash", "-c", command } );
    

    Source.

    0 讨论(0)
提交回复
热议问题