Mac终端运行脚本教程:苹果电脑命令行入门

作者:技术拾光

时间:2026-06-10

浏览:415

在Mac上尝试运行自定义脚本时,终端提示“权限被拒绝”或“命令未找到”是常见问题。这通常由几个核心原因导致:脚本未获得执行权限、路径指定错误、或系统不知道使用哪个解释器来运行。下面详细分析这几种情况,并逐步指导解决。 一、确认脚本文件存在并具有可执行权限 macOS出于安全考虑,默认不允许直接运行来

文章目录

在Mac上尝试运行自定义脚本时,终端提示“权限被拒绝”或“命令未找到”是常见问题。这通常由几个核心原因导致:脚本未获得执行权限、路径指定错误、或系统不知道使用哪个解释器来运行。下面详细分析这几种情况,并逐步指导解决。

Mac终端运行脚本教程:苹果电脑命令行入门

一、确认脚本文件存在并具有可执行权限

macOS出于安全考虑,默认不允许直接运行来历不明的脚本文件。相当于一扇门需要钥匙(执行权限)才能打开。

首先,打开“终端”应用。

然后,使用cd命令切换到脚本所在目录。例如,脚本在桌面上,输入:cd ~/Desktop。

接着,输入ls -l命令查看文件列表。找到脚本文件(比如myscript.sh),检查权限栏。若开头没有显示-rwxr-xr-x中的“x”,说明缺少执行权限。

使用chmod命令添加权限:chmod +x myscript.sh。之后再用ls -l确认“x”权限已出现。

二、使用绝对路径或相对路径运行脚本

有了执行权限后,还需告知终端脚本的具体位置。不能只喊“开门”,而应指明“打开我家书房的门”。运行脚本同样需要指定路径。

脚本在当前目录时,输入:./myscript.sh。其中的./代表“当前目录”,不可省略。

脚本在其他文件夹(如“文稿”文件夹)时,使用绝对路径:/Users/你的用户名/Documents/myscript.sh。请将“你的用户名”替换为实际账户名。

也可用相对路径。例如,当前在桌面,脚本在上一级目录的“Scripts”文件夹中,则输入:../Scripts/myscript.sh,其中..表示“上一级目录”。

三、通过shell命令显式调用解释器执行

如果脚本缺少正确的shebang行(即第一行未声明解释器),或想用特定解释器运行,可以手动指定。

先检查脚本第一行是否以#!/开头,如#!/bin/zsh或#!/usr/bin/env python3。这行告诉系统使用哪个程序运行。

若该行不对或缺失,可直接指定。例如用zsh运行Shell脚本:zsh myscript.sh。

对于Python脚本(已安装Python 3),输入:python3 myscript.py即可。

四、将脚本添加至PATH实现全局调用

若希望在任何目录下直接输入脚本名即可运行,需将脚本所在目录加入系统的PATH环境变量,相当于增加一个全局“快捷方式目录”。

首先在终端输入echo $SHELL确认默认shell。macOS Catalina及之后版本默认为zsh。

编辑对应配置文件。对于zsh,命令为:nano ~/.zshrc。

在文件末尾新起一行,添加:export PATH="/Users/你的用户名/Scripts:$PATH"。将“你的用户名”和“Scripts”替换为实际目录。

保存文件(nano中按Ctrl+O,回车,再按Ctrl+X退出)。执行source ~/.zshrc使改动生效。

完成后,将脚本放入指定目录(如Scripts文件夹),并确保已用chmod +x赋予执行权限。此后在任何终端位置直接输入myscript.sh即可运行。

五、使用osascript从终端触发AppleScript脚本

运行AppleScript脚本(.scpt文件)时,不能直接执行,需通过osascript命令作为“翻译官”。

首先确保脚本已用“脚本编辑器”保存为“.scpt”格式。

在终端中切换到脚本所在目录,或使用完整路径。

运行命令:osascript YourScript.scpt。

若路径包含中文或空格,用双引号包裹整个路径,例如:osascript "/Users/你的用户名/Desktop/我的脚本.scpt"。

实用工具推荐

电子包浆

绿化、压缩、噪点和虚拟水印,自由调节做旧程度。

使用 ›
图片压缩

选择画质和输出格式,预览压缩前后的大小。

使用 ›
相关文章