OSX Touch命令 - 破碎?

时间:2013-09-28 17:29:51

标签: macos bash

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

2 个答案:

答案 0 :(得分:4)

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

我认为这是strerror()的C代码中对touch的调用引用errno的疯狂值的情况之一。 (这是所有“错误执行<X>:成功”消息的来源。出现错误,但errno随后被0设置为errno捕获{{1}}之前的成功命令并打印错误消息。)

答案 1 :(得分:1)

我有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,我认为您应该得到相同的结果。