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

删除等号周围的空格。shell 脚本中的分配必须像这样混合在一起:

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 回答