我在cygwin中执行的一个命令收集了一堆文件.现在我无法删除它们.省略了大部分'ls'输出,这就是我正在处理的内容:
% ls -l
ls: cannot access WSERV001.txt: No such file or directory
-rw-r--r-- 1 mccppk mkgroup-l-d 50 Sep 17 16:57 WSERV001.text
??????????? ? ? ? ? ? WSERV001.txt
% rm WSERV001.txt
rm: cannot remove `WSERV001.txt': No such file or directory
% touch WSERV001.txt
touch: cannot touch `WSERV001.txt': Permission denied
Run Code Online (Sandbox Code Playgroud)
.text文件是正常的..txt文件(无论如何目录条目)显然已经被软管了.有关如何删除.txt文件的任何想法?
似乎Log4j的v2已经开发了几年.在Apache的Log4J的网站不再列出的路线图,在开发邮件列表看起来几乎完全约1.2(这是感激!),使用V1.3是不鼓励,而2.0分支被列为"实验".相信什么是信徒?
我查看了文档,但看不到如何让Apache Commons CLI处理通常终止选项处理的双连字符"选项".
请考虑以下命令行,该命令行具有"-opt"选项,该选项可以采用未指定的可选参数:
MyProgram -opt -- param1 param2
Run Code Online (Sandbox Code Playgroud)
我希望选项在这种情况下最终没有参数,但Apache返回" - "作为参数.如果该选项允许多个参数,那么部分或全部参数将作为参数返回.
以下是说明问题的示例代码:
package com.lifetouch.commons.cli;
import java.util.Arrays;
import org.apache.commons.cli.*;
public class DoubleHyphen {
private static Options options = new Options();
public static void main(String args[]) {
// One required option with an optional argument:
@SuppressWarnings("static-access")
OptionBuilder builder = OptionBuilder.isRequired(true).
withDescription("one optional arg").
withArgName("optArg").hasOptionalArgs(1);
options.addOption(builder.create("opt"));
// Illustrate the issue:
doCliTest(new String[] { "-opt"} );
doCliTest(new String[] { "-opt", "optArg", "param"} );
doCliTest(new String[] { "-opt", "--", "param"} );
// What I …
Run Code Online (Sandbox Code Playgroud) java command-line-interface apache-commons apache-commons-cli