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