0

コマンドライン引数としてファイルを受け取り、そのファイルの名前、行数、最終更新日をファイルに追加するbashスクリプトを作成しようとしています。bashスクリプト内からそのファイルにアクセスする方法と、コマンドライン引数がスクリプト内でどのように動作するかについて混乱しています。

これまでの私のスクリプトは次のとおりです。

#!/bin/bash

filename = $1
linecount = $(wc -l $1)
lastmod = $(date -r $1)
echo "$filename $linecount $lastmod" >> $1

私は$1参照で何か間違ったことをしていると思います。ファイルであるコマンドライン引数を操作する方法について一般的に混乱しています。

4

2 に答える 2

3

等号の前後のスペースを削除します。シェル スクリプトでの割り当ては、次のようにマッシュアップする必要があります。

filename=$1
linecount=$(wc -l $1)
lastmod=$(date -r $1)
于 2013-01-30T20:06:13.687 に答える
0

位置引数 ($1、$2、...) は正しい方法です。特殊文字 (スペースなど) やエスケープで問題が発生する可能性がありますが、それ以外の場合はスクリプトが正常に実行されるはずです。

于 2013-01-30T20:06:43.460 に答える