【问题标题】:Bash script - Command fails when run as variable, but works otherwise [duplicate]Bash脚本-作为变量运行时命令失败,但可以正常工作[重复]
【发布时间】:2021-09-30 15:15:03
【问题描述】:

我有一个简单的脚本,但由于某种原因,在将命令作为变量运行时它会失败。关于为什么的任何想法? (我正在尝试使用脚本更改 pipewire 的设备设置)

cmd2="pactl set-card-profile 'bluez_card.B8_F8_BE_79_40_C0' 'headset-head-unit-msbc'"
$cmd2  
#Command above Fails with "Failure: No such entity"

pactl set-card-profile 'bluez_card.B8_F8_BE_79_40_C0' 'headset-head-unit-msbc'
#command above works fine. (if I modify the bluez to blue99 it fails as cmd2 did)

【问题讨论】:

  • 见BashFAQ #50。这是正常的,也是意料之中的。命令可以安全地存储为数组或函数——而不是字符串。

标签: bash pipewire


【解决方案1】:

不知道为什么会这样..但删除 ' 修复了它..

cmd2="pactl set-card-profile bluez_card.B8_F8_BE_79_40_C0 headset-head-unit-msbc"
$cmd2

【讨论】:

  • BashFAQ #50 解释了原因。但是,最好切换到允许所有可能的命令工作的方法,如链接副本和上述常见问题解答中所述。
  • 感谢 cmets.. 每天学习更多!
猜你喜欢
  • 2022-01-06
  • 2013-09-28
  • 1970-01-01
  • 2014-07-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-02-18
相关资源
最近更新 更多