zsh - 找不到写入脚本的命令

Mat*_*usz 5 macos bash zsh zshrc iterm2

我正在使用 mac 并且我有一个脚本文件print_hello

#!/bin/bash
echo hello
Run Code Online (Sandbox Code Playgroud)

如果我直接从带有./print_hello命令和 zsh 终端的目录运行它,它将正确打印 hello。我想将其添加为全局命令,因此print_hello在终端中写入应该打印“你好”。但我得到的是:

zsh: command not found: print_hello
Run Code Online (Sandbox Code Playgroud)

路径是正确的(我在 中对其进行了编辑.zshrc)。该文件具有适当的权限(我使用过chmod 755 print_hello):

? ~ echo $PATH
/Users/mateusz/bin:/usr/local/bin:/Users/mateusz/bin:/usr/local/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/Library/GE/bin:~/scripts
Run Code Online (Sandbox Code Playgroud)

并且print_hello文件在~/scripts

我可以运行脚本的唯一方法是直接从它的目录中运行。我该怎么办?我添加了一些别名.zshrc并且它们正在工作,那么为什么可执行脚本不起作用?

Mat*_*usz 8

这很奇怪,但帮助我的是替换

~/scripts
Run Code Online (Sandbox Code Playgroud)

$HOME/scripts
Run Code Online (Sandbox Code Playgroud)

在 .zhrc 文件中