Диапазон JSONPath не работает при использовании kubectl

Следующий метод позволит вам добавить текст к некоторому файлу:

private void appendToFile(String filePath, String text)
{
    PrintWriter fileWriter = null;

    try
    {
        fileWriter = new PrintWriter(new BufferedWriter(new FileWriter(
                filePath, true)));

        fileWriter.println(text);
    } catch (IOException ioException)
    {
        ioException.printStackTrace();
    } finally
    {
        if (fileWriter != null)
        {
            fileWriter.close();
        }
    }
}

Альтернативно, используя FileUtils :

public static void appendToFile(String filePath, String text) throws IOException
{
    File file = new File(filePath);

    if(!file.exists())
    {
        file.createNewFile();
    }

    String fileContents = FileUtils.readFileToString(file);

    if(file.length() != 0)
    {
        fileContents = fileContents.concat(System.lineSeparator());
    }

    fileContents = fileContents.concat(text);

    FileUtils.writeStringToFile(file, fileContents);
}

Это не но отлично работает. Разрывы строк обрабатываются правильно, и новый файл создается, если он еще не существует.

0
задан Axesilo 1 March 2019 в 16:16
поделиться

2 ответа

Ваша команда работает для меня в kubectl 1.9.2

Если она все еще не работает, вы можете использовать tr в bash, чтобы заменить пробелы новыми строками:

kubectl config view -o=jsonpath="{.contexts[*].name}" | tr " " "\n" 
0
ответ дан Amityo 1 March 2019 в 16:16
поделиться

Я понял это. Я использовал сценарий @ ahmetb kubectl-aliases , который работает без проблем, но одно из предложений в README было:

Распечатайте полную команду перед ее запуском. : Добавьте это в ваш файл .bashrc или .zshrc:

function kubectl() { echo "+ kubectl $@"; command kubectl $@; }

У меня было объявление этой функции в моем .bashrc, и оно удаляло кавычки для моего [ 111] аргумент. Как только я закомментировал это объявление и открыл новую оболочку, команда работала правильно.

0
ответ дан Axesilo 1 March 2019 в 16:16
поделиться
Другие вопросы по тегам:

Похожие вопросы: