在 bash 中直接使用命令的定位参数

在 bash 中直接使用命令的定位参数

不确定以前是否问过这个问题,但我想直接在一行程序中创建和使用位置参数。

例如我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 源文件或类似文件中。

相关内容