Как вывести конвейерный стандартный вывод в скрипте bash из getopts?

Я сам разобрался :вам следует использовать

mpd_music_dir = "/home/sunqingyao/Music"

вместо

mpd_music_dir = /home/sunqingyao/Music

Нельзя опускать кавычки.

0
28.06.2017, 15:27
2 ответа

Путем передачи вывода в xargs, который преобразует ввод в аргументы:

echo "this is the test" | xargs bash getoptscript.sh -m - 

Что приведет к:

bash getoptscript.sh -m - this is the test
0
28.01.2020, 02:45

Вместо того, чтобы использовать строку в качестве аргумента командной строки, вы можете просто использовать catдля чтения стандартного ввода скрипта:

printf '%s\n' "$foo"
if [ "$bar" = "-" ]; then
    # assume data is on standard input
    cat
else
    print '%s\n' "$bar"
fi
1
28.01.2020, 02:45

Теги

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