我正在运行 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。
$1
Bash 脚本中的(usr/local/bin/
在命令行中定义) 作为参数。
如果您始终想要进入某个目录,您可以$1
用脚本中的任何其他目录进行替换。cdls
至于您提到的另一个问题。最佳答案建议这样做:
cdls() { cd "$@" && ls; }
这是一个函数,应该插入到你的.bash_profile
(对于 macOS)或.bashrc
(对于 Linux)中,而不是在 bash 脚本中使用。
答案2
您从该主题获得的示例是创建要放入的 bash 函数.profile
。如果您想创建一个脚本而不是将函数添加到您的配置文件中,您的脚本需要如下所示。
#!/bin/bash
builtin cd "$@" && ls