社員ブログ
HOME  社員ブログ
ホーム > Linux, シェルスクリプト, 社員:cobra > シェルスクリプト teeコマンドでエラーが出る場合の原因。

シェルスクリプト teeコマンドでエラーが出る場合の原因。

2013年05月22日 14時06分23秒

こんにちは、コブラです。

シェルスクリプトでteeコマンドを使用した際、

こんなエラーが出ました。

tee: hoge.log:そのようなファイルやディレクトリはありません

原因としてもっとも考えられるのが単純なファイルパスの誤りです。

”え?ファイルはちゃんと存在するけど?”と思った方!

ありがちなのが「cd」コマンドです。

シェルスクリプトの処理中にカレントディレクトリを移動したりすると、

相対パスで指定したファイルが見つからなくなったりします。

FILENM="./hoge.log" # 実際は/rootにある
cd "/home"
echo "hogehoge." | tee -a FILENM 

これではファイルが見つかりませんね。

FILENM="/hoge.log" # 実際は/rootにある
cd "/home"
echo "hogehoge." | tee -a FILENM

ファイルパスは出来るだけ絶対パスを指定するのがよさそうですね。

Linux, シェルスクリプト, 社員:cobra

  1. コメントはまだありません
  1. トラックバックはまだありません