KnowledgeHub
Questions
Tags
Users
Search
Alex Rivera
|
Logout
Edit Question
Title
Body
I am trying to understand the "cdargs-bash.sh" script with cdargs packages. And I have a question about in the following function: function _cdargs_get_dir () { local bookmark extrapath # if there is one exact match (possibly with extra path info after it), # then just use that match without calling cdargs if [ -e "$HOME/.cdargs" ]; then dir=`/bin/grep "^$1 " "$HOME/.cdargs"` if [ -z "$dir" ]; then bookmark="${1/\/*/}" if [ "$bookmark" != "$1" ]; then dir=`/bin/grep "^$bookmark " "$HOME/.cdargs"` extrapath=`echo "$1" | /bin/sed 's#^[^/]*/#/#'` fi fi [ -n "$dir" ] && dir=`echo "$dir" | /bin/sed 's/^[^ ]* //'` fi if [ -z "$dir" -o "$dir" != "${dir/ /}" ]; then # okay, we need cdargs to resolve this one. # note: intentionally retain any extra path to add back to selection. dir= if cdargs --noresolve "${1/\/*/}"; then dir=`cat "$HOME/.cdargsresult"` /bin/rm -f "$HOME/.cdargsresult"; fi fi if [ -z "$dir" ]; then echo "Aborted: no directory selected" >&2 return 1 fi [ -n "$extrapath" ] && dir="$dir$extrapath" if [ ! -d "$dir" ]; then echo "Failed: no such directory '$dir'" >&2 return 2 fi } What's the purpose of the testing: "$dir" != "${dir/ /}" Here the testing span over two lines; does it want to remove the newline character in $dir or maybe for some other reason? I am just starting to learn bash scripting and I have Googled some time but couldn't find any usage like this.
Tags (comma-separated)
Save Edits
Cancel