【发布时间】:2021-05-22 17:39:08
【问题描述】:
是否可以在 Mac 上的 .sh Shell 脚本中执行 where ?
如果我在终端中执行where,则该命令存在并且有效。
如果我在 .sh 文件中执行 where,则会收到错误:./TestInternal.sh: line 16: where: command not found。
我该如何解决/理解这个问题?
【问题讨论】:
-
where是一个 zsh 主义。使用什么取决于您的脚本使用的 shell。 -
是
#!/bin/sh吗?#!/usr/bin/env bash?还有什么? -
(顺便说一句,
.sh不是对文件类型特别有用的描述——不幸的是,很多人把.sh作为 all 脚本的扩展名,不管怎样解释器是什么;因此,.sh扩展不仅可以在 POSIX sh 脚本上找到,还可以在 bash 脚本、zsh 脚本、ksh 脚本和许多其他脚本上找到;如果您只有文件,则不知道将使用哪种解释器扩展名:你需要检查shebang线)