Both readlink and realpath work very well in command-line.
However, when it goes within bash script, both won't work with my home folder files, like as, "~/.bashrc", "~/.config", "~/.local/bin".....
#!/bin/bash
while read i; do
printf '%s\n' "Hi! <$i>";
full_path=$(readlink -fv $i);
echo $full_path;
done
Output:
Hi! <~/.bashrc>
readlink: '~/.bashrc': No such file or directory
Hi! <~/.bash_aliases>
readlink: '~/.bash_aliases': No such file or directory
Hi! <~/.config>
readlink: '~/.config': No such file or directory
Hi! <~/.emacs>
readlink: '~/.emacs': No such file or directory
Hi! <~/.emacs.d/themes>
readlink: '~/.emacs.d/themes': No such file or directory
Hi! <~/.imwheelrc>
readlink: '~/.imwheelrc': No such file or directory
Hi! <~/.local/bin>
readlink: '~/.local/bin': No such file or directory
Hi! <~/.local/share/background-images>
readlink: '~/.local/share/background-images': No such file or directory
Hi! </etc/udev/hwdb.d/10-my-modifiers.hwdb>
/etc/udev/hwdb.d/10-my-modifiers.hwdb
Hi! </etc/default/grub>
/etc/default/grub
Hi! </etc/mkinitcpio.conf>
/etc/mkinitcpio.conf
Source file contents
~/.bashrc
~/.bash_aliases
~/.config
~/.emacs
~/.emacs.d/themes
~/.imwheelrc
~/.local/bin
~/.local/share/background-images
/etc/udev/hwdb.d/10-my-modifiers.hwdb
/etc/default/grub
/etc/mkinitcpio.conf