我正在尝试编写一个脚本,它必须执行包含单引号的命令。这是我试图在脚本中执行的命令:
srt-live-transmit udp://224.0.0.0:1234 'srt://@1111?passphrase=thisisatest&latency=500' -v这是我的BASH shell脚本的命令:
srt-live-transmit $MC srt://${SRT_IP}:${SRT_PORT}?${LATENCY}&${PASS} -v如您所见,SRT路径是单引号,以便命令接受我的两个参数:passphrase和latency。我尝试过用\'、'\''、'"'"'、$\'来转义单引号,但是当我对进程列表中的进程进行grep时,命令要么没有执行,要么SRT路径没有单引号。
发布于 2019-09-10 09:24:12
如果我正确理解了,并且您的变量包含了我猜它们包含的内容(下次,请告诉我们变量的值是什么以及如何分配它们),那么您所需要的就是引用:
srt-live-transmit "$MC" "srt://${SRT_IP}:${SRT_PORT}?${LATENCY}&${PASS}" -v您不能真正在单引号字符串中转义单引号,但是您可以只使用双引号,这样可以展开变量。
https://unix.stackexchange.com/questions/539962
复制相似问题