使用绝对路径运行带参数的二进制文件

使用绝对路径运行带参数的二进制文件

这是一个嵌入式 Linux 系统,所以情况有些不同。我正在尝试使用绝对路径运行带参数的二进制文件,但它不起作用。如果我从文件夹中运行二进制文件,例如,如果二进制文件在其中/home/root/test folder并且我运行

root@user:~/test# ./mybinary 1  2

它工作没有问题。但下面不行,似乎无法理解参数

root@user:~# /home/root/test/mybinary 1 2

最后,我想crontab使用绝对路径来调用它来运行这个二进制文件。

答案1

如果您的程序需要从某个目录启动,可能是因为它正在使用相对路径从该目录读取一些文件,只需先更改目录:

cd /home/root/test; mybinary 1 2

完成后你可以再添加一张cd来改回来:

cd /home/root/test; mybinary 1 2; cd - 

如果从 crontab 运行,后者是多余的,但在这种情况下,您必须将 2 个命令合并为一个:

(cd /home/root/test; mybinary 1 2)

为此目的创建单独的脚本似乎是过度设计的。

不要忘记 crontab 中的注释。如果您是该程序的作者,您应该从固定的配置文件(如 ~/.mybinaryrc 或 ~/.mybinary.conf 等)读取,或者提供一个目录开关,在哪里查找文件,以便您可以调用它像那样:

 mybinary --startdir ~/home/root/test 1 2 

相关内容