cygwin找不到su命令
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了cygwin找不到su命令相关的知识,希望对你有一定的参考价值。
cygwin 时沿用windows账户体系,所以,你用administrator 账户登录 实际上得到的权限已经相当于root(但仍有差距)实际上win默认可执行文件权限是所有人,根本没必要获取root追问
但是,有时候需要在最高权限和普通权限之间切换,没有su,还得修改配置文件,很麻烦
追答麻烦您详述下您的使用场景?
追问比如有的时候需要root权限,就得修改配置文件,而有的时候并不需要root权限,还得把配置文件改回来,相当麻烦。我记得原来cygwin下有su和sudo命令,可是后来不知怎得就没了。
参考技术A 百度上可以找到答案~Tom Alsberg wrote:
>
> Hi there... I've got some problem with Cygwin's su command under Windows
> NT. Generally, the problem is that if I try to su to any user (except of the
> same user I'm logged on to), from any user (including Administrator), I get
> the following error message:
>
> su: cannot set user id: Not owner
> [...]
> Has anyone got any idea what the problem might be?
`su' isn't really ported but only compiled, unfortunately.
Corinna
--
Corinna Vinschen Please, send mails regarding Cygwin to
Cygwin Developer mailto:cygwin@sources.redhat.comRed Hat, Inc.mailto:vinschen@cygnus.com
感谢谷歌翻译
汤姆Alsberg写道:> >你好...我在Cygwin的su命令下有一些问题> NT。一般来说,问题是,如果我尝试索取任何用户(除了>我登录到的同一用户),从任何用户(包括管理员),我得到>以下错误信息:> > su:不能设置用户ID:不是所有者> [...]>有没有人知道问题可能是什么?不幸的是,`su'并没有真正移植,而只是编译完成。科琳娜- Corinna Vinschen请发送关于Cygwin的邮件给Cygwin开发人员 mailto:cygwin@sources.redhat.com红帽公司邮寄地址:vinschen@cygnus.com
制作:c:找不到命令
【中文标题】制作:c:找不到命令【英文标题】:make: c: command not found 【发布时间】:2011-03-10 07:26:32 【问题描述】:我正在尝试运行我的 make 文件,但出现以下两个错误:
make: c: 找不到命令
和
make: o: 找不到命令
我正在尝试在 cygwin 中执行此操作。我已经安装了 g++ 和 make,但是当我运行 make 文件时,我收到了这些错误。
有什么想法吗?
生成文件:
all: MergeSort clean
MergeSort: main.o MergeSort.o
$g++ -o MergeSort main.o MergeSort.o
main.o: main.cpp MergeSort.h
$g++ -c main.cpp
MergeSort.o: MergeSort.cpp MergeSort.h
$g++ -c MergeSort.cpp
clean:
rm -rf *o
cleanall:
rm -rf *o *exe
【问题讨论】:
发布你的makefile,以及你是如何运行它的。 codepad.org/UPInzxwg 这是make文件,我在它所在的目录中键入“make”来运行它(那里只有我的文件和makefile。) 我在问题正文中添加了 Makefile。在将代码发布到 SO 时不要使用像 codepad 或 pastebin 这样的网站:如果您的代码示例消失了,那么问题将变得毫无意义。此外,必须打开另一个网页才能看到源代码真的很烦人,尤其是当它很小的时候。 【参考方案1】:您需要从$g++
行中删除$
。它试图扩展一些不存在的变量,并从您的命令中吞噬“$g++ -
”。
使用变量的语法是:
$(CXX) -c main.cpp
在这种情况下,CXX
是为您定义的 C++ 编译器的路径。您可以通过将以下行添加到您的 makefile 来更改它:
CXX = g++
如果您试图避免回显正在运行的命令 make,请使用 @
而不是 $
。
【讨论】:
【参考方案2】:$g++ 没有在那个makefile中定义,所以命令变成了
-o MergeSort main.o MergeSort.o
和
-c main.cpp
要么从 $g++ 中删除 $ 并使用 g++,要么在你的 makefile 中定义变量。
CXX = g++
all: MergeSort clean
MergeSort: main.o MergeSort.o
$CXX -o MergeSort main.o MergeSort.o
main.o: main.cpp MergeSort.h
$CXX -c main.cpp
MergeSort.o: MergeSort.cpp MergeSort.h
$CXX -c MergeSort.cpp
clean:
rm -rf *o
cleanall:
rm -rf *o *exe
【讨论】:
我认为您应该将$CXX
与$(CXX)
交换为GNU Make(OP 似乎在询问)。以上是关于cygwin找不到su命令的主要内容,如果未能解决你的问题,请参考以下文章
使用 Cygwin 为 Linphone 运行 make 命令时找不到 android 错误