如果我可以做这样的事情,这对我非常有用
echo {
aic94xx-firmware*
alsa-firmware
btrfs-progs
centos-logos
iprutils
ivtv*
iwl*firmware
} | rpm -e
其中每个要卸载的软件包都是其单独的行。这只是一个例子,但是如果在Bash中可能发生这种情况,那么我也将其应用于其他情况。
问题
是否可以在命令中回显某种HEREDOC?
答案 0 :(得分:3)
使用反斜杠将命令分成多行。
rpm -e \
aic94xx-firmware'*' \
alsa-firmware \
btrfs-progs \
centos-logos \
iprutils \
ivtv'*' \
iwl'*'firmware
或使用数组。不需要反斜杠。
packages=(
aic94xx-firmware'*'
alsa-firmware
btrfs-progs
centos-logos
iprutils
ivtv'*'
iwl'*'firmware
)
rpm -e "${packages[@]}"
请注意,无论哪种方式,我都引用了星号。您希望rpm
解释glob,而不是shell,因此应将其转义。
答案 1 :(得分:-3)
您可以为此使用xargs
echo "aic94xx-firmware* alsa-firmware btrfs-progs centos-logos iprutils ivtv* iwl*firmware" | xargs rpm -e