我正在尝试编写一个bash脚本,该脚本将文件作为命令行参数,并将该文件的名称,行数和上次修改日期附加到文件中。我对如何从bash脚本中访问该文件以及命令行参数在脚本中的行为方式感到困惑。
到目前为止,这是我的脚本:
#!/bin/bash
filename = $1
linecount = $(wc -l $1)
lastmod = $(date -r $1)
echo "$filename $linecount $lastmod" >> $1
我认为我对$1
引用做错了。通常对如何操作作为文件的命令行参数感到困惑。
答案 0 :(得分:3)
删除等号周围的空格。 shell脚本中的赋值必须像以下一样被混合在一起:
filename=$1
linecount=$(wc -l $1)
lastmod=$(date -r $1)
答案 1 :(得分:0)
位置参数($ 1,$ 2,...)是正确的方法。
,您可能遇到特殊字符(如空格)和转义问题,但您的脚本运行正常。