终端sudo命令

时间:2009-11-03 00:54:18

标签: terminal

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

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

sudo filename.rtf

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

我已尝试将隐藏扩展程序但得到相同的结果。关于我做错了什么的指示?

提前致谢

3 个答案:

答案 0 :(得分: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直接运行该文件。

答案 1 :(得分:0)

sudo 用于以机器的root用户身份执行命令。

输入

时输入

sudo [somthing]

shell授予临时root权限,然后执行给定的“somthing”

假设你的脚本是bash,你应该已经完成​​了

sudo sh filename.rtf

此外,最好将脚本保存为普通txt,并使用 sh 扩展名,以便执行

sudo sh myscript.sh

答案 2 :(得分:0)

首先将脚本设置为可执行文件:

chmod +x filename.rtf

然后你可以像这样运行它:

sudo ./filename.rtf