如何从 M1 Mac 上的终端在 Rosetta 中运行命令或脚本?

hfo*_*sli 8 macos bash terminal command-line zsh

如何从终端运行 Rosetta 中的程序或 shell 脚本?我不想在罗塞塔运行整个终端。正是我需要的零件。

hfo*_*sli 10

arch命令对于此目的很有用

arch -arch_name binary args ...
Run Code Online (Sandbox Code Playgroud)

查看man arch更多详情

没有罗塞塔的示例:

echo "arch" > build.sh
arch -arm64 /bin/bash ./build.sh 
Run Code Online (Sandbox Code Playgroud)

输出:

arm64
Run Code Online (Sandbox Code Playgroud)

(可以直接运行/bin/bash ./build.sh

罗塞塔示例:

echo "arch" > build.sh
arch -x86_64 /bin/bash ./build.sh
Run Code Online (Sandbox Code Playgroud)

输出:

i386
Run Code Online (Sandbox Code Playgroud)