在 Bash 中我有一个变量:
LOCAL_PATH="/this/is/a/path/"
然后我有另一个变量,其内容以 LOCAL_PATH 开头,应该将其删除:
LINE="/this/is/a/path/which/is/longer"
结果应该是:
RESULT="which/is/longer"
我已经尝试过使用 Bash 的字符串操作
RESULT=$(echo "${LINE//\/this\/is\/a\/path\/}")
但是我如何在其中包含变量 LOCAL_PATH 来防止上面表达式中的硬编码路径呢?
答案1
只需包含LOCAL_PATH
在模式部分:
printf '%s\n' "${LINE//"$LOCAL_PATH"/}"
如果LINE
始终以 的内容开头LOCAL_PATH
,则 POSIXly:
printf '%s\n' "${LINE#"$LOCAL_PATH"}"