gpt4 book ai didi

包含反引号的 Linux 管道数据

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:37:05 24 4
gpt4 key购买 nike

我正在将一个命令的输出传输到第二个命令:

mpc listall | mpc add

mpc listall 返回如下数据(可以输出1行或多行):

Dare - 16 - I´ll Be Your King.mp3

当它通过管道传输到下一个命令时,似乎我的 shell(BusyBox 上的 Ash)将 ´ 转换为星号,因为我收到错误

error adding Dare - 16 - I*ll Be Your King.mp3: No such directory

手动添加双引号有效!像这样:

mpc add "Dare - 16 - I´ll Be Your King.mp3"

所以,我尝试通过 sed 和 awk 添加它们,但在那些情况下,反引号再次转换为星号:

mpc listall | sed 's/^/"/;s/$/"/'

返回:

"Dare - 16 - I*ll Be Your King.mp3"

那么,问题是,有没有办法将反引号或实际上任何字符原样传递到另一个命令而不进行转换?

/p>

最佳答案

不是直接解决问题,而是使用 python-mpd2 库在 python 中解决问题(实际上更好,因为它使用 API):

myMpdClient = MPDClient() 
myMpdClient.connect("localhost", 6600) # connect to localhost:6600
myMpdClient.findadd('base','directory-name')
myMpdClient.close()

如果有人发布了可行的解决方案,我将接受实际提出的问题的可行解决方案,而不是这个。

关于包含反引号的 Linux 管道数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47698953/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com