![有问题的脚本:查询 buku,通过 fzf 选择,然后(再次)使用 buku 打印](https://linux22.com/image/226976/%E6%9C%89%E9%97%AE%E9%A2%98%E7%9A%84%E8%84%9A%E6%9C%AC%EF%BC%9A%E6%9F%A5%E8%AF%A2%20buku%EF%BC%8C%E9%80%9A%E8%BF%87%20fzf%20%E9%80%89%E6%8B%A9%EF%BC%8C%E7%84%B6%E5%90%8E%EF%BC%88%E5%86%8D%E6%AC%A1%EF%BC%89%E4%BD%BF%E7%94%A8%20buku%20%E6%89%93%E5%8D%B0.png)
首先,感谢您花时间查看该问题。
我有以下脚本:从 的数据库中选择一个 ID 数组buku
,然后buku
再次使用以前选择的 ID 来打印信息。
selected_ids=$(buku --print --format 3 | fzf | cut --fields=1)
&& test="$(buku --print $selected_ids --format 10)"
问题:选择时test
( )的值为空echo $test
多个条目通过fzf
。
我尝试了多种解决方案,包括管道进入tr
:
selected_ids=$(buku --print --format 3 | fzf | cut --fields=1 | tr '\n' ' ' | xargs)
&& test="$(buku --print $selected_ids --format 10)
但无济于事。
我的直觉表明问题可能$selected_ids
被解释为整个字符串。为什么?因为当我fzf
仅选择via时一项, 的值$test
包含所选值。
有什么建议么?
答案1
感谢@steeldriver的建议,我找到了答案。为了后代,将其发布在这里。
selected_ids=$(buku --print --format 3 | fzf | cut --fields=1)
&& test="$(buku --print ${=selected_ids} --format 10)"