シェルスクリプトでシンボリックリンクか確認する方法
以前に「シャルスクリプトでファイル・ディレクトリ有無の確認方法「if文」 」と記事を書きましたが、確認する先がシンボリックリンクだとちゃんと動かなかったのでif文でシンボリックリンクの場合の扱いをまとめました
シンボリックリンクの先が通常のファイルかどうかを判定
シンボリックリンクの先がファイルかどうかの判断する場合は、if [-f (file)]; then 〜 fi のように記述します
#!/bin/bash #シンボリックリンク(/var/tmp/hoge.txt)の先がファイルかどうか判断 if [ -f /var/tmp/hoge.txt] ; then echo "OK" else echo "NG" fi
シンボリックリンクの先が通常のディレクトリかどうかを判定
シンボリックリンクの先がディレクトリかどうかの判断する場合は、if [ -d (file)]; then 〜 fi のように記述します
#!/bin/bash #シンボリックリンク(/var/tmp/)の先がディレクトリかどうか判断 if [ -d /var/tmp/] ; then echo "OK" else echo "NG" fi
ファイル・ディレクトリがシンボリックリンクかどうかを判定
ファイル・ディレクトリがシンボリックリンクかどうかを判断するには、if [ -L (file)]; then 〜 fi のように記述します
#!/bin/bash if [ -L /etc/rc.local ]; then echo "OK" else echo "NG" fi
ディスカッション
コメント一覧
まだ、コメントがありません