Expected Output
/usr/bin
$HOME/.local/bin
$HOME/.local/a/bin
$HOME/.local/b/bin
$HOME/.local/c/bin
$HOME/.local/d/bin
#!/bin/sh | |
set -e | |
set -u | |
fn_replace_home() { | |
my_path="${1}" | |
my_delim="$( | |
printf '\v' | |
)" | |
my_path="$( | |
echo "${my_path}" | | |
sed "s${my_delim}${HOME}${my_delim}\$HOME${my_delim}g" | | |
sed "s${my_delim}\${HOME}${my_delim}\$HOME${my_delim}g" | | |
sed "s${my_delim}^~${my_delim}\$HOME${my_delim}g" | |
)" | |
echo "${my_path}" | |
} | |
fn_replace_home /usr/bin | |
fn_replace_home ~/.local/bin | |
fn_replace_home "${HOME}/.local/xbin" |
Expected Output
/usr/bin
$HOME/.local/bin
$HOME/.local/a/bin
$HOME/.local/b/bin
$HOME/.local/c/bin
$HOME/.local/d/bin