我有以下bash:
cd /aPath/
for x in y.*.gz
> do something $file.dd.mm.yyyy >> /anotherPath/aFile
> done
我想向该文件传递一个参数,该参数代表要插入“mm”的月份。所以我希望能够从命令行调用:
我的函数 08
它会运行:
cd /aPath/
for x in y.*.gz
> do something $file.dd.08.yyyy >> /anotherPath/aFile
> done
我该怎么做/我可以在我的 bash_profile 中定义一些东西吗?
答案1
我会将该功能添加到我的/home/user/.bashrc
在例子中
myFunc() {
mm=$1
FILES=/home/user/*
for f in $FILES; do
if [[ $f == filename.dd.$mm.yyyy ]]; then
ls -la $f
fi
done
}
并记得重新加载.bashrc文件与命令source ~/.bashrc
,我会从外壳调用该函数。
mm=$1
将获取通过调用传递给函数的第一个参数(参数)myFunc 08
并将其放入$mm
变量中(这是非常无用的步骤,您可以$1
在函数中任何需要的地方直接使用变量)