To perform a specific replacement in bash:
path='path/to/directory/foo bar'
echo "${path// /\\ }"
- Do not use the prefix
$when assigning variables to bash. - There
=should be no spaces around . - ,
path , - : bash , ( ) ; ( , , - , )
"${path///\\ }":
- ,
{...} // , ( / )./ , ( ) \\.\, \\, \ escape-. , , .
, bash ( ) , [ ] . , , , ,... - . BashGuide .
, :
- , (,
*.txt); , v='dear me'; echo "${v/m*/you}" v='dear me'; echo "${v/m*/you}" 'dear you'. , . - - , ; , , , , ,
$(...) ,...; :v='sweet home'; echo "${v/home/$HOME}" v='sweet home'; echo "${v/home/$HOME}", , 'sweet/home/jdoe'.v='It is now %T'; echo "${v/\%T/$(date +%T)}" v='It is now %T'; echo "${v/\%T/$(date +%T)}" It is now 10:05:17, , It is now 10:05:17.o1=1 o2=3 v="$o1 + $o2 equals result"; echo "${v/result/$(( $o1 + $o2 ))}" o1=1 o2=3 v="$o1 + $o2 equals result"; echo "${v/result/$(( $o1 + $o2 ))}" '1 + 3 equals 4' ( )
- .