$ *の最初のパラメータを削除します。

$ *の最初のパラメータを削除します。

私は小さな「logit」スクリプトを持っています。

#!/bin/bash
echo "• $(date +%Y.%m.%d.%H.%M.%S) • " >> "$1"
printf "%s" "$*" >> "$1"

これにより、いつでもどこでもログを生成できます。

しかし! $* をログファイルに印刷すると当然 $1 が含まれますが、それがログのパス/ファイル名なので $* から除外してログのすべての行に表示されないようにしたいと思います。

可能ですか?

ベストアンサー1

はい、使用してくださいshift

#!/bin/bash
echo "• $(date +%Y.%m.%d.%H.%M.%S) • " >> "$1"
log="$1"
shift
printf "%s" "$*" >> "$log"

男性の乱交を見てください

シフト[n]

n+1 ... で始まる位置パラメータは $1 ... に名前が変更されます。 $#から$#-n+1までの数値で表されるパラメータは設定されません。 n は、$# 以下の負以外の数字でなければなりません。 nが0の場合、パラメータは変更されません。 n を指定しない場合、1 とみなされます。

おすすめ記事