我希望能够键入一行命令来执行我知道的以下两个命令:
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