Cla*_*lay 6 macos bash terminal zsh
我正在 Mac 上的 Zsh 终端内工作。
我正在尝试使用该source命令,以便我可以按名称调用我的脚本,而不是键入“.sh”脚本的路径。该source命令不会返回任何错误,但是一旦我尝试按名称调用“.sh”文件,它就会返回“找不到命令”。
我还尝试在使用命令时输入绝对路径source,但没有成功。
终端命令:
source ~/Documents/marco.sh
marco
zsh: command not found: marco
Run Code Online (Sandbox Code Playgroud)
马尔科.sh
#!/usr/bin/env bash
touch ~/Documents/marco.txt
echo $(pwd) > ~/Documents/marco.txt
Run Code Online (Sandbox Code Playgroud)
要完全按照您想要的方式执行此操作,您可以创建一个marco函数:
# marco.sh
marco () {
touch ~/Documents/marco.txt
echo $(pwd) > ~/Documents/marco.txt
}
Run Code Online (Sandbox Code Playgroud)
然后你source就跑吧marco。如果您要经常使用它,我建议将该函数放入.zshrc或另一个由您的 shell 自动获取的文件中。
正如评论中所建议的,您也可以将原始内容放在marco.sh您的路径中。我喜欢使用~/bin这些类型的个人可执行文件:
$ mkdir ~/bin
$ mv ~/Documents/marco.sh ~/bin
$ export PATH="$HOME/bin:$PATH"
$ marco.sh
Run Code Online (Sandbox Code Playgroud)
再次将该export PATH行放入您的文件或类似文件中.zshrc。