如何创建自定义 ZSH 命令?

how to create custom zsh commands?

提问人:Coding_Guy 提问时间:11/9/2023 更新时间:11/10/2023 访问量:46

问:

我想在我的 mac 上制作自己的 zsh 命令。我不知道该怎么做以及如何编写 shell 代码。我该如何开始?我想做一个这样的基本命令:

myname@My-MacBook-Air  ~ hi
hi, user!
macOS 终端 命令 zsh

评论

0赞 user1934428 11/15/2023
定义什么是 .一般来说,命令只是一个可执行程序,它可以用任何语言编写 - 也可以用 zsh 编写 - 并且可以从任何进程调用。此外(对于 zsh),您可以定义仅存在于 zsh 进程中的命令。这样的命令(有点不恰当地)被命名为“zsh 函数”。最后,zsh 有一个名为 alias 的功能,它允许您定义较长命令的快捷方式。别名也只存在于 zsh 进程中。就你而言,一个会做。zsh commandalias hi="echo hi user"

答:

1赞 Moein Arabi 11/9/2023 #1

您可以编写 bash 脚本并将其保存在您的目录或任何其他目录中。例如:/usr/bin/

第 1 步

创建一个新文件并将其命名为 。然后在其中编写以下代码。mycommand.sh

#!/bin/bash
echo "Hello"

步骤 2

通过在终端中运行此命令来设置对此文件的可执行访问。

> chmod +x mycommand.sh

步骤 3

通过在终端中运行此命令,确保目录位于 PATH 中。/usr/bin/

> echo $PATH

如果没有,请访问此网站以了解如何将目录添加到 PATH。

步骤 4

在终端中运行该命令,您将在终端中看到“Hello”字符串。mycommand

> mycommand
Hello

您可以在该文件中编写更复杂的脚本并创建自己的命令。

评论

0赞 user1934428 11/15/2023
不要给提出此类问题的用户(这表明他对该主题的了解为零)建议摆弄。太冒险了!/usr/bin
0赞 Richard Barber 11/10/2023 #2

命令别名也可用于扩展命令行功能:

% echo $USER
reb42
% alias hi='echo "hi, $USER."'
% hi
hi, reb42.
% zsh
% hi
zsh: command not found: hi
% echo "alias hi='echo "hi, \$USER."'" >> ~/.zshrc
% zsh
% hi
hi, reb42.

编辑:.zshrc

open ~/.zshrc