我是一个完全新手(Mac豹子的终端)并且希望从网络上获得一条生命线,因为我肯定会碰到一堵墙。
我想在终端中运行脚本作为根。该脚本保存为扩展名为.rtf的文本文件。我已插入终端:
sudo filename.rtf
然后我收到一个我输入的密码(管理员密码)并按下回车键;然后它显示一个提示:sudo:Mac:找不到命令
我已尝试将隐藏扩展程序但得到相同的结果。关于我做错了什么的指示?
提前致谢
答案 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