在 macOS 上自动执行 cd 和 ls 的 Shell 脚本

在 macOS 上自动执行 cd 和 ls 的 Shell 脚本

我正在运行 macOS Sierra,并尝试编写一个 shell 脚本,以便我能够同时使用一个cd命令ls我要离开这个话题,但却无法将其改编成我的剧本。

目录:/usr/local/bin/

文件名:cdls

代码:

#!/bin/bash
cdls() { builtin cd "$@" && ls; }

除了简单的文件之外,我从未编写过 shell 脚本echo hello world,因此如果您能为我指明正确的方向,那就太好了。谢谢。

编辑:/usr/local/bin在我的PATH

答案1

我将通过在终端中输入以下内容来实现此目的:

. cdls /usr/local/bin/

cdls我的 bash 脚本存储在哪里$PATH

#!/bin/bash
cd $1
ls

终端命令中的.源脚本,而不是使用子shell。

$1Bash 脚本中的(usr/local/bin/在命令行中定义) 作为参数。

如果您始终想要进入某个目录,您可以$1用脚本中的任何其他目录进行替换。cdls

至于您提到的另一个问题。最佳答案建议这样做:

cdls() { cd "$@" && ls; }

这是一个函数,应该插入到你的.bash_profile(对于 macOS)或.bashrc(对于 Linux)中,而不是在 bash 脚本中使用。

答案2

您从该主题获得的示例是创建要放入的 bash 函数.profile。如果您想创建一个脚本而不是将函数添加到您的配置文件中,您的脚本需要如下所示。

#!/bin/bash
builtin cd "$@" && ls

相关内容