0

特別な提案のために、小さな BASH スクリプトをカスタマイズしようとしています。

コマンドを変数に割り当てるときが来ると、BASHスクリプトと混同します。

私の壊れたコード:

if [ -n "$2" ]
then
    top=`| head -n $2`
fi
awk '{print $17, ">", $19;}' $logs_folder$i | sort -g | uniq -c | sort -r -g $top

したがって、デフォルトではすべての行が返されますが、ユーザーが番号を指定した場合は head コマンドが追加されます

4

2 に答える 2

0

作業スクリプトは次のようになります。

# set propper default value
top=""
if [ -n "$2" ]
then
    # use double quotes instead of back-tics
    # back-tics are for command substitution
    # but you need the command itself as a string
    top="| head -n $2"
fi

awk '{print $17, ">", $19;}' "$logs_folder$i" | sort -g | uniq -c | sort -r -g $top
于 2013-08-09T19:23:13.467 に答える