LinuxやUNIXで利用するシェルスクリプトの中で相対パスから絶対パスを取得するには、『readlink』コマンドがものすごい便利だ。
このコマンド、基本的にはシンボリックリンクの実体を取得するためのコマンドなのだが、「-f」オプションを利用することでファイルのフルパスを取得出来るのだ。
readlink -f 相対PATH
実際に実行した結果がこちら。
test@ubuntu-server:~$ l -la
合計 292
drwxr-xr-x 10 test test 4096 4月 5 10:35 ./
drwxr-xr-x 3 root root 4096 3月 22 10:23 ../
-rw------- 1 test test 3713 4月 5 10:40 .bash_history
-rw-r--r-- 1 test test 220 3月 22 10:23 .bash_logout
-rw-r--r-- 1 test test 3637 3月 22 10:23 .bashrc
drwx------ 2 test test 4096 3月 22 10:52 .cache/
drwxrwxr-x 3 test test 4096 4月 1 21:47 .local/
drwxrwxr-x 79 test test 12288 4月 1 21:54 .npm/
-rw-r--r-- 1 test test 675 3月 22 10:23 .profile
drwx------ 2 test test 4096 3月 31 07:23 .ssh/
drwxrwxr-x 4 test test 4096 4月 2 01:01 ansize/
drwxrwxr-x 7 test test 4096 4月 1 21:54 blessed-contrib/
drwxrwxr-x 3 test test 4096 4月 2 07:55 mario-shellscript/
-rw-rw-r-- 1 test test 9635 4月 2 00:58 miku00.ascii
-rw-r--r-- 1 test test 209561 4月 2 00:53 miku00.png
drwxrwxr-x 2 test test 4096 4月 1 21:54 tmp/
-rw-rw-r-- 1 test test 366 4月 5 10:38 ttyrecord
-rw-r--r-- 1 root root 661 4月 4 19:59 typescript
test@ubuntu-server:~$ pwd
/home/test
test@ubuntu-server:~$ readlink -f miku00.ascii
/home/test/miku00.ascii
test@ubuntu-server:~$