![在 bash 中直接使用命令的定位参数](https://linux22.com/image/1660819/%E5%9C%A8%20bash%20%E4%B8%AD%E7%9B%B4%E6%8E%A5%E4%BD%BF%E7%94%A8%E5%91%BD%E4%BB%A4%E7%9A%84%E5%AE%9A%E4%BD%8D%E5%8F%82%E6%95%B0.png)
不确定以前是否问过这个问题,但我想直接在一行程序中创建和使用位置参数。
例如我du -sh
经常与管道一起使用:
du -sh /opt/directory/* |sort -h
如果可能的话,我希望 du 的目录结构最终是这样的:
du -sh $1 |sort -h
我怎样才能在同一行中将目录传递给 $1?
答案1
声明一个执行所需操作的函数:
dus () {
du -sh "$@" | sort -h
}
然后你可以用
dus /opt/directory/*
为了使声明永久生效,请.bashrc
在启动时将其包含到 shell 源文件或类似文件中。