Macos OSX触摸命令——坏了吗?
这感觉像是一个愚蠢的问题,但我的Macos OSX触摸命令——坏了吗?,macos,bash,Macos,Bash,这感觉像是一个愚蠢的问题,但我的touch命令似乎坏了。尝试使用命令创建~/.bash\u profile文件:touch~/.bash\u profile并在发送命令时看到以下内容:-bash:touch:没有这样的文件或目录。我已经搜索了很多次,但到目前为止还没有找到相同的问题。有人能帮忙吗?要使touch命令正常工作,我到底需要做些什么?您可能希望通过OSX的strace等效程序运行touch命令(我认为该命令实际上存在于OSX上,尽管似乎还有其他命令),检查输出并检查生成的错误(如果有)
touch
命令似乎坏了。尝试使用命令创建~/.bash\u profile
文件:touch~/.bash\u profile
并在发送命令时看到以下内容:-bash:touch:没有这样的文件或目录。
我已经搜索了很多次,但到目前为止还没有找到相同的问题。有人能帮忙吗?要使touch命令正常工作,我到底需要做些什么?您可能希望通过OSX的strace
等效程序运行touch
命令(我认为该命令实际上存在于OSX上,尽管似乎还有其他命令),检查输出并检查生成的错误(如果有)。将输出粘贴到粘贴箱也是一个好主意
我认为这是调用
strerror()
insidetouch
的C代码引用了一个疯狂的errno
值的例子之一。(这就是所有那些“错误执行
:Success”消息的来源。有一个错误,但是errno
随后被一个成功的命令设置为0
,然后捕获errno
并打印错误消息。)我有OSX小牛,我使用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,我想您应该会得到相同的结果。如果您使用了
哪个触摸键,您会看到什么?那么我不知道发生了什么。Bash知道要调用哪个touch
,但却声称它不存在……我通过在另一个编辑器中单独创建.Bash_配置文件来解决这个问题,但这个问题令人沮丧!触摸“$HOME/.bash_profile”
怎么样?试着在提示下输入“unalias touch
”,看看你是否运气更好。这个主意很有趣。不过在OSX上没有strace
。我想你想要一场比赛。各种可用的命令行选项;或者,如果您安装了Xcode,您显然也会得到一些工具,一些与DTrace服务交互的GUI。好的,它是iosnoop
,需要sudo
。