高木のブログ

【シェルスクリプト】引数でも標準入力でも値を受け取れるように書く方法

· 53 words · 1 minutes to read

./script.sh abcecho abc | ./script.sh の両方で動作させたい

引数ではもちろん、パイプで繋げて処理できたらいいなと思ったので調べた

実装 🔗

cat -で標準入力が受け取れる

#!/bin/bash

if [ -p /dev/stdin ]; then
  input=`cat -`
else
  input=`echo $@`
fi

echo Hello, ${input}

実行 🔗

# 引数
$ ./hello.sh World
Hello, World

# 標準入力
$ echo World | ./hello.sh
Hello, World

参考 🔗

Categories


Tags