终端sudo命令

kev*_*vin 2 terminal

我是一个完全的新手(Mac豹子的终端),并希望从网络上获得一条生命线,因为我肯定会碰到一堵墙.

我想在终端中运行脚本作为根.该脚本保存为扩展名为.rtf的文本文件.我插入终端:

sudo filename.rtf
Run Code Online (Sandbox Code Playgroud)

然后我被问到一个我输入的密码(管理员密码)并按下回车键; 然后它显示一个提示:sudo:Mac:命令未找到

我已经尝试了扩展隐藏,但得到了相同的结果.关于我做错了什么的指示?

提前致谢

cop*_*kin 10

您需要首先从.rtf文件和纯文本文件中获取脚本(在TextEdit中打开它并从格式菜单中选择"Make Plain Text",然后再将其保存为myscript.sh).

现在你可以输入

sudo sh myscript.sh

那里的"魔术"字母是因为正如另一个响应者所说,sudo会暂时提升你到超级用户并运行一个程序.在*nix环境中,这将是可执行位设置的任何内容,这意味着某人明确告诉操作系统运行文件是安全的.在你的情况下,你的myscript.sh并没有以这种方式"祝福",所以要运行它,你需要将它提供给一个知道如何理解它的程序.该程序是sh,它确实有可执行位设置.将其视为sudo(sh myscript.sh)可能会让它更清晰一些.

如果您计划大量运行此脚本,您可能希望实际上使其可执行.这相当于在文件中放入特殊指令,告诉操作系统应该如何运行文件.如果您坚持#!/bin/sh(这称为shebang行并告诉操作系统如何处理您的文件)在脚本的第一行,然后键入chmod u+x myscript.sh(这告诉操作系统您,只有您,可以执行您的文件) ),你将能够直接运行该文件sudo myscript.sh.