• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:シェルスクリプトだと動かない [ -L fileS ] && echo "シンボリックリンクです")

シェルスクリプトでシンボリックリンクの確認方法

このQ&Aのポイント
  • コマンドライン上でカレントディレクトリにあるfileSがシンボリックリンクであるか調べる方法を学習しました。
  • しかし、シェルスクリプトで同様の確認を行おうとするとエラーが発生しました。
  • どこが間違っているのかわからないため、ご教授いただけると助かります。

質問者が選んだベストアンサー

  • ベストアンサー
  • mac_res
  • ベストアンサー率36% (568/1571)
回答No.1

Debian Linux kernel 2.6.21.4で確認しましたが、ちゃんと動きました。 #! /bin/sh test -L fileS &&echo "シンボリックリンクです" と書いてもエラーになるのでしょうか?

tcpip110
質問者

お礼

ご連絡ありがとうございます。 原因がわかったので報告いたします。 原因: OSがSolarisを使っていた為、シェルスクリプト上で動作する [ -L fileS ] (testコマンド)は、組み込み系のtestコマンドを呼び出していました。組み込み系のtestコマンドは -L をサポートしていないので 外部コマンドのtestを呼び出す為に command [ -L fileS ] として記述しなければならない事を確認いたしました。 よって、コマンドライン上では外部コマンドを明示しなくても外部コマンドを呼び出している事で [ -L fileS ] && echo "シンボリックリンクです" だけで、動作するとわかりました。 以上、ご教授有り難うございました。

その他の回答 (1)

  • notnot
  • ベストアンサー率47% (4900/10358)
回答No.2

エラーメッセージからすると、空白を空けるべきところを空けてないような感じですね。