使用命令行参数作为文件的Bash脚本

时间:2013-01-30 20:00:34

标签: file bash unix command-line-arguments

我正在尝试编写一个bash脚本,该脚本将文件作为命令行参数,并将该文件的名称,行数和上次修改日期附加到文件中。我对如何从bash脚本中访问该文件以及命令行参数在脚本中的行为方式感到困惑。

到目前为止,这是我的脚本:

#!/bin/bash

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

我认为我对$1引用做错了。通常对如何操作作为文件的命令行参数感到困惑。

2 个答案:

答案 0 :(得分:3)

删除等号周围的空格。 shell脚本中的赋值必须像以下一样被混合在一起:

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

答案 1 :(得分:0)

位置参数($ 1,$ 2,...)是正确的方法。

,您可能遇到特殊字符(如空格)和转义问题,但您的脚本运行正常。