I've just found this command:
upower -e
that displays a list of files that can be used with upower -i to display plugged device status.
So my first try was using:
upower -e | xargs upower -i
but it doesn't work. So I've tried:
$ upower -e | xargs echo
/org/freedesktop/UPower/devices/line_power_AC /org/freedesktop/UPower/devices/battery_BAT0 /org/freedesktop/UPower/devices/line_power_ucsi_source_psy_USBC000o001 /org/freedesktop/UPower/devices/DisplayDevice
and it display all files in single line. So I've used:
$ upower -e | xargs -0 echo
/org/freedesktop/UPower/devices/line_power_AC
/org/freedesktop/UPower/devices/battery_BAT0
/org/freedesktop/UPower/devices/line_power_ucsi_source_psy_USBC000o001
/org/freedesktop/UPower/devices/DisplayDevice
it works but displays one empty line, but this doesn't work:
$ upower -e | xargs -0 upower -i
failed to set path: Object path invalid: /org/freedesktop/UPower/devices/line_power_AC
/org/freedesktop/UPower/devices/battery_BAT0
/org/freedesktop/UPower/devices/line_power_ucsi_source_psy_USBC000o001
/org/freedesktop/UPower/devices/DisplayDevice
Why upower -e | xargs upower -i doesn't work? I'm using Bash on Fedora.
Is there something I'm missing here?
EDIT:
This seems to work:
upower -e | xargs -I {} upower -i "{}"
But I'm wondering: why a quote is needed if the filename doesn't have spaces?