Пусть xargs передаст флаг из stdin вместо параметра команды

Я решил свою проблему.

Я открыл командную строку в Windows как администратор и набрал эту команду. bcdedit / set {bootmgr } path \ EFI \ ubuntu \ grubx64.efi . Затем выключите, а не перезагружайте (я не знаю, имеет ли это значение), тогда меня приветствовало очень знакомое меню grub :)

Клянусь, у меня есть попробовал это уже, но я пробовал это до того, как сделал восстановление при загрузке, так что, возможно, это могло быть одним из факторов, почему на этот раз он работал, а также, возможно, выключение вместо перезагрузки после bcdedit

0
13.09.2018, 20:01
2 ответа

Не удалось воспроизвести:

$ echo -e "one\ntwo\nthree" | xargs -L1 -I% echo "I was told % times"
I was told one times
I was told two times
I was told three times

Если myApplicationвозвращает свой вывод на стандартный ввод, приведенный выше вызов xargsдолжен работать правильно. Если вывод, который вы видите, на самом деле является стандартной ошибкой, вам нужно перенаправить его на стандартный вывод с помощью myApplication 2>&1.

1
28.01.2020, 04:13

Самый простой способ — скрипт

#!/bin/sh
anotherApplication --flag "$1" parameterNotFromXargs

И назовите это с помощью

myApplication | xargs -L1./myscript.sh

Если вы хотите избежать скрипта, вы можете использовать встроенную команду Give:

myApplication | xargs -L1 sh -c 'anotherApplication --flag "$1" parameterNotFromXargs' _
1
28.01.2020, 04:13

Теги

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