0

我有一个问题一直试图解决。我想了解从命令行启动脚本并使其可执行然后从 Finder 运行它之间的区别。

因为这就是我正在经历的;

我有一个名为垃圾文件的简单脚本,其中包含以下命令:

trash ~/Downloads/*

当我从终端运行时,它按预期工作;但是,如果我在 finder 中双击 shell 脚本,我会看到:

/Users/xx/Desktop/trash-files: line 1: trash: command not found

我希望有人能告诉我为什么这不能按预期工作

4

3 回答 3

3

trash不是 OS X 中的标准命令。它是在您的 ~/.profile 或类似文件中定义的吗?如果是这样,则不会为非登录 shell 运行这些 shell,例如为运行脚本而创建的 shell。

于 2012-08-02T06:20:21.193 回答
1

如果您使用的是自制软件,则可以运行

brew install trash

这将安装必要的脚本以使trash命令以您期望的方式工作。

于 2015-06-02T15:23:21.940 回答
0

您的主文件夹位置中有一个文件夹,名为

.Trash

文件夹名称前面的“点”使其在查找器中搜索时隐藏。您必须使用终端执行以下命令:

cd ~/
ls -la

这会将目录更改为当前登录用户的主文件夹,然后第二个命令将列出文件并显示隐藏文件。然后你可以运行:

rm .Trash/*

这将删除码头上垃圾箱内的所有东西。因此,从 /Applications 文件夹中打开 TextEdit,转到“格式”并将其设为“纯文本”。粘贴在下面的两行中。

#!/bin/sh
rm ~/.Trash/*

将文件另存为“emptyTrash.sh”(取消选中使用 txt 扩展名)。将其保存到您的桌面或任何您想要的位置。然后打开终端,cd(更改目录)到文件所在的位置并运行此命令以使脚本可执行:

chmod +x emptyTrash.sh

然后您可以通过 cd (更改目录)执行脚本到脚本所在的路径,然后运行:

 ./emptyTrash.sh

而已。

于 2012-08-02T15:18:41.923 回答