« Windows上でdos窓開かずにPerlプログラムを実行する方法 | メイン | Plack::Middleware::Auth::QueryString »

2012年5月27日

シェルスクリプトで標準入力をパイプ経由でのみ受け付ける

ファイル演算子 -p を使って、標準入力がパイプ経由かどうかで調べることが出来る。`cat -`で標準入力をそのまま飲み込むことが可能。

#!/bin/sh
if [[ -p /dev/stdin ]];then
  VAR=`cat -`
else
  echo 'usage: echo "hoge" | command';exit
fi
echo $VAR

投稿者 Songmu : 2012年5月27日 23:30