首页 > 解决方案 > bash 删除字符串参数的引号

问题描述

我需要在 bash 中执行一个带有构造参数的命令。字符串参数需要不带引号传递。如何删除引号?

这不起作用:

Tracks='bark.mov'
TrackDir='~/soundtracks/'
TrackPath=$TrackDir$Track
omxplayer -o local $TrackPath

这不起作用:

omxplayer -o local '~/soundtracks/bark.mov'

这确实有效:

omxplayer -o local ~/soundtracks/bark.mov

标签: stringbashparameters

解决方案


波浪号扩展仅适用于引号之外。在定义变量时去掉引号,但在扩展它们时要包含引号

Tracks=bark.mov
TrackDir=~/soundtracks/
TrackPath=$TrackDir$Track
omxplayer -o local "$TrackPath"

推荐阅读