7

这感觉像是一个愚蠢的问题,但我的touch命令似乎已经坏了。尝试~/.bash_profile使用命令创建文件:touch ~/.bash_profile并在发送命令时看到以下内容:-bash: touch: No such file or directory.我已经搜索了很多答案,但到目前为止还没有发现相同的问题。有人可以帮忙吗?为了使触摸命令起作用,我究竟需要做什么?

4

2 回答 2

5

您可能希望touch通过 OS X 的等效命令运行该命令strace(我认为该命令实际上存在于 OS X 上,尽管似乎还有其他命令),检查输出并检查生成了哪些错误(如果有)。将输出粘贴到 pastebin 也可能是个好主意。

我认为这是对strerror()insidetouch的 C 代码的调用引用了errno. (这是所有那些“执行错误<X>:成功”消息的来源。有一个错误,但errno随后被0成功的命令设置为之前errno被捕获并打印了错误消息。)

于 2014-03-20T21:29:49.027 回答
3

我有 OS X Mavericks,我使用 Kornshell,但我将切换到 bash:

让我们尝试触摸一个不存在的文件:

$ touch foo

没有。那行得通。让我们尝试触摸一个您不拥有的文件:

$ touch /usr/bin/true
touch true: Permission denied

不,这就是我所期望的,而不是 OP 得到的。让我们尝试使用符号链接

ln -s foo bar
touch bar

不,工作。让我们用一个目录试试:

$ touch Applications

不,也有效。

尝试这个:

$ sum /usr/bin/touch
6205 9 /usr/bin/touch
$ file /usr/bin/touch
/usr/bin/touch: Mach-O 64-bit executable x86_64

如果您使用的是 Mavericks,我认为您应该得到相同的结果。

于 2014-03-20T21:46:31.267 回答