使用路径删除Bash子串

时间:2013-09-14 21:28:29

标签: bash

这一定是新手的错误。我试图切断存储为字符串的路径的头部。为什么我似乎无法将搜索模式字符串存储在变量中?看看LDP看起来你可以做到这一点。

http://tldp.org/LDP/abs/html/string-manipulation.html并导航到子字符串删除)

test="/Users/Kieran/foo/bar/"

echo ${test#/Users/Kieran}
result: /foo/bar/

test_dir="/Users/Kieran"

echo ${test#test_dir}
result: /Users/Kieran/foo/bar/

预先感谢任何回复。祝你有个美好的一天!

1 个答案:

答案 0 :(得分:1)

echo ${test#test_dir}

应该是

echo "${test#"${test_dir}"}"

或只是

echo "${test#$test_dir}"

因为您想要从test_dir扩展值。有关参数扩展的更多信息,请访问:http://www.gnu.org/software/bash/manual/html_node/Shell-Parameter-Expansion.html