我不想在zypper up
.相反,我想使用已删除的文件重新启动所有服务,如所示zypper ps -sss
。
我以为我可以做类似的事情zypper ps -sss | tr '\n' ' ' | systemctl restart
,但失败了
论据太少。
我还尝试写入文件并将其用作输入,systemctl restart < myfile.txt
得到相同的结果。
我最终使用了
systemctl restart $(zypper ps -sss | tr '\n' ' ')
那么两个问题:
1) 如何将值通过管道传输到 systemctl 中?
2)是否有更好的方法来重新启动 所示的所有服务zypper ps
?
答案1
1)如何将值输入
systemctl
?
你不能,systemctl restart
将单位名称作为参数,而不是来自标准输入。这没有什么问题,因为您有方便的方法来收集单元名称并将它们作为参数(即$(...)
)传递,而不是通过管道传递。
2)是否有更好的方法来重新启动 所示的所有服务
zypper ps
?
并不真地。好吧,有一个小小的改进,您实际上并不需要该tr
命令,因为使用不带引号的命令$(...)
将为您提供多个参数,并使用任何空格作为分隔符。所以这应该足够了:
systemctl restart $(zypper ps -sss)