Я сам разобрался :вам следует использовать
mpd_music_dir = "/home/sunqingyao/Music"
вместо
mpd_music_dir = /home/sunqingyao/Music
Нельзя опускать кавычки.
Путем передачи вывода в xargs, который преобразует ввод в аргументы:
echo "this is the test" | xargs bash getoptscript.sh -m -
Что приведет к:
bash getoptscript.sh -m - this is the test
Вместо того, чтобы использовать строку в качестве аргумента командной строки, вы можете просто использовать cat
для чтения стандартного ввода скрипта:
printf '%s\n' "$foo"
if [ "$bar" = "-" ]; then
# assume data is on standard input
cat
else
print '%s\n' "$bar"
fi