lsblk 重定向到 grep 不起作用

lsblk 重定向到 grep 不起作用

我在我的 bash 代码中使用了以下行

disks=$(lsblk -nd --output name,rota,fstype | grep $disk_name)

当我运行脚本时,程序会在此行退出,没有任何解释。但是,在终端中
使用该代码可以正常工作。lsblk -nd --output name,rota,fstype | grep $disk_name

为什么会发生这种情况?

答案1

我删除了 中的行set -e。显然,使用var=$(program | grep string)该命令时grep会出错并退出。现在上面的行可以正常工作。或者,我们可以这样做var=$(program | grep string || true)

相关内容