#navi(../)
* ファイルがシンボリックリンクかどうか判別する方法 [#ea1689b1]
ファイルが実体ファイルなのか、シンボリックリンクなのかを確認する方法を以下に記します。~
尚、利用したシェルは bash になります。
#contents
#htmlinsertpcsp(linux_ads_top.html,linux-sp.html)
* ''-L'' によりシンボリックリンクかどうかを判別する [#c07ad49f]
以下にサンプルスクリプトを記します。~
動作内容は、foo.txtファイルを作成し、bar.txtシンボリックリンクを作成したあと、''-L''の使用例を記しています。~
処理終了後、作成したファイルは削除しています。
** サンプルスクリプト [#sa2b3349]
#ref(sample-01.sh)
#!/bin/bash
echo "test" > foo.txt
if [ ! -L foo.txt ]; then
echo foo.txt is not symbolic link
else
echo foo.txt is symbolic link
fi
ln -s foo.txt bar.txt
if [ -L bar.txt ]; then
echo bar.txt is symbolic link
else
echo foo.txt is not symbolic link
fi
rm bar.txt foo.txt
** サンプルスクリプト 実行結果 [#a9a51867]
$ chmod +x sample-01.sh
$ ./sample-01.sh
foo.txt is not symbolic link
bar.txt is symbolic link
* 関連資料 [#af73325e]
-[[ファイルかディレクトリかを判別する方法およびファイル・ディレクトリの有無>逆引きシェルスクリプト/if文のサンプル・ファイル・ディレクトリ編]]
-[[ファイルのパーミッションを確認する方法>逆引きシェルスクリプト/ファイルのパーミッションを確認する方法]]
-[[ファイルサイズが0より大きいかを確認する>逆引きシェルスクリプト/ファイルサイズが0より大きいかを確認する]]
#htmlinsertpcsp(linux_ads_btm.html,linux-sp.html)