Skip navigation


Jadi saya belakangan ini sedang membuat beberapa skrip bash yang mengambil parameter berupa path sebuah file. Perkaranya adalah bagaimana menangani string input untuk path yang absolute maupun relative. Ternyata cukup sederhana, yakni dengan readlink. Perintah ini akan mengambil absolute path dari input yang berupa relative path.

#!/bin/bash
# Check whether a string represents a directory or not
# string can be relative or absolute path

dir=$(readlink -f $1)
if [ -d $dir ]; then
        echo "$dir"
else
        echo "$dir is not a directory"
fi

Contohnya

petra@petra-laptop:~$ l ~/test
mailer1.txt  php54test.php   test/      test3/     test3.php~  test4.php   test5.php   test6.php
mailer2.txt  php54test.php~  test2.php  test3.php  test4/      test4.php~  test5.php~
petra@petra-laptop:~$ ./test.sh ~/test
/home/petra/test
petra@petra-laptop:~$ ./test.sh /home/petra/test/test3
/home/petra/test/test3
petra@petra-laptop:~$ ./test.sh /home/petra/test/test3.php
/home/petra/test/test3.php is not a directory
petra@petra-laptop:~$ ./test.sh ../petra/test/test4.php
/home/petra/test/test4.php is not a directory
petra@petra-laptop:~$ ./test.sh ../petra/test/test3
/home/petra/test/test3

Tinggalkan Balasan

Isikan data di bawah atau klik salah satu ikon untuk log in:

Logo WordPress.com

You are commenting using your WordPress.com account. Logout / Ubah )

Gambar Twitter

You are commenting using your Twitter account. Logout / Ubah )

Foto Facebook

You are commenting using your Facebook account. Logout / Ubah )

Foto Google+

You are commenting using your Google+ account. Logout / Ubah )

Connecting to %s

%d blogger menyukai ini: