Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/macos/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Macos OSX触摸命令——坏了吗?_Macos_Bash - Fatal编程技术网

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()
inside
touch
的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