我认为只有当 'python' 在没有 args 的情况下运行时,有一个别名(在 ~/.zshrc 中)将 'python' 别名为 'ipython' 会很好(否则,程序将不会启动)。首先,如何在别名中表达“没有参数”?其次,你怎么看?
根据定义,Shell 别名不会为您提供任何有条件地使用它们的方法。它们适用于您从交互式提示运行的任何内容。
您可以使用函数来执行此操作。(请参阅在 Bash 中,何时使用别名、何时编写脚本以及何时编写函数?了解更多关于为什么不同的信息。)
function python () {
test -z "$1" && ipython || command python "$@"
}
Run Code Online (Sandbox Code Playgroud)
shell 的 rc 文件中的这些行将导致您的 shell 运行此函数而不是直接运行二进制文件。如果第一个参数为空,它将为您触发 ipython,否则它将所有参数传递给您路径中的任何 python 二进制文件(注意使用command强制二进制文件而不是函数执行并导致递归本身)。