ラベル shell の投稿を表示しています。 すべての投稿を表示
ラベル shell の投稿を表示しています。 すべての投稿を表示

2019年3月10日日曜日

2018年7月8日日曜日

シェルスクリプトの位置パラメータ/コマンドライン引数の一括展開

2018 Jul. 08.

fumiyas.github.io/2016/12/15/positional-parameters.sh-advent-calendar.html

"$*"
すべての値の間にスペース ` ` が差し込まれた1つの文字列に展開される。
展開の結果は元にように個別の値にはならず、スペースが差し込まれたひと塊の一つの値になる。
ダブルクォートに括られているため、展開後にワード分割はされない。
同様にパス名展開やブレース展開なども適用されない。

"$@"
位置パラメータの数だけ展開される。
パラメーターの数は変化しない。
ワード分割や各種展開もされない。

$* と $@ は同じ
位置パラメータの各値がそれぞれ個別に展開された後、個別にワード分割やパス名展開などが適用される。



2018年4月28日土曜日

標準入力あるいはコマンドライン引数からテキストファイルを受け取るシェルスクリプト

2018 Jul. 07.
2018 Apr. 28.

〈tailコマンドに渡す例〉
if [ -p /dev/stdin ]; then
   tail -
else
   tail $1
fi

〈readコマンドに渡す例〉
 function outputLine() {
   while read Line
   do
      echo $Line
   done < /dev/stdin
 }


if [ -p /dev/stdin ]; then
   cat -
else
   cat $1
fi | outputLine