在特定目录中运行应用程序的命令

在特定目录中运行应用程序的命令

我希望能够键入一行命令来执行我知道的以下两个命令:

cd ~/rpitwit_commands/
rpitwit

这是因为我想在 crontab 中启动时自动运行它,并且它必须从该目录中运行。你们建议我如何这样做?请注意,实际的应用程序文件不在该目录中(我不确定这在 debian linux 中是如何工作的)。

答案1

当您使用 cron 运行命令时, $PATH 被设置为最小列表,因此最好始终使用完整路径或第一个设置运行命令PATH

你可以一次性执行多个命令(也可以与 cron 一起使用),如下所示:

cd /home/username/rpitwit_commands && /path/to/command/rpitwit

如果您需要在命令执行后保留在原始目录中,请将它们放在中间( )以在子 shell 中运行它们。

答案2

你可以把它写成cd ~/rpitwit_commands && rpitwit

还c看看这个问题

答案3

您还可以使用pushd将目录更改到另一个位置,然后popd返回到原来的位置。

例子

$ pwd
/home/saml

$ pushd /tmp/
/tmp ~
$ pwd
/tmp

$ popd
~
$ pwd
/home/saml

这些命令可以使用&&运算符链接在一起。转到另一个目录,/tmp运行命令echo hi,然后返回。

$ pushd /tmp && echo hi && popd
/tmp ~
hi

确认我们回来了:

$ pwd
/home/saml

相关内容