【发布时间】:2018-01-08 13:19:43
【问题描述】:
我的问题非常类似于:How to pass command line arguments to a shell alias?
我想创建一个可以接受参数的别名。上述问题中的人建议的功能,这确实是解决方案。
但是,我同时使用 fish(Friendly Interactive SHell)和 bash。我将所有自定义别名保存在单个文件中,无论我使用的是 fish 还是 bash,我都会加载它。
我知道如何在 bash 中创建别名/函数,并且我知道如何在 fish 中创建别名/函数。我不知道,如何同时为 fish 和 bash 创建别名/函数。
它不必是别名/函数(它可以是前卫的 hack),只是最终效果应该像预期的那样工作。
alias rmi="function _rmi() { docker ps -a | grep $1 | awk '{print $1}' | xargs --no-run-if-empty docker rm -f ; docker images | grep $1 | awk '{print $3}' | xargs --no-run-if-empty docker rmi -f }; _rmi()"
bash 接受以上一个,但fish 不接受。
函数去 sudo 服务 $argv 重启 结束
以上内容被鱼接受,但现在是 bash。
别名 apts="aptitude search"
bash 和fish 都接受上述的普通别名,但参数不能在里面(必须在最后)。
如何统一?
【问题讨论】:
-
如果您要删除图像,请查看
docker system prune --help。此命令更适合您使用别名执行的操作。与您提出的问题无关,但可能有助于构建更好的解决方案