c++ - 在自己的工作目录中运行可执行文件

标签 c++ linux bash

我在我的 gvim 工具栏上添加了一个按钮,它运行一个 .sh 文件。 .sh 文件运行 scons 以在/build 子目录中构建我的 c++ 应用程序并运行它。问题是当应用程序运行时,它的当前工作目录是包含 .sh 文件的文件夹(不是 applications/build 子目录)! 那么如何从 .sh 文件运行构建的 c++ 应用程序可执行文件 (linux),使其工作目录成为包含可执行文件的文件夹?

最佳答案

只是

 cd $(dirname "$0")
 ./exec_test

请注意,您需要./exec_test,而不是exec_test,除非该目录实际上已经在路径

关于c++ - 在自己的工作目录中运行可执行文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19747964/

相关文章:

python - 使用 mmap 增加文件大小

linux - 如何防止 tar 提取覆盖符号链接(symbolic link)目录

linux - 命令行调用将目录中的文件根据文件大小分为三个子目录,分别命名为小、中和大

bash - 在 AWK 中比较工程编号时出现奇怪的输出

c++ - 如何检测程序是否在 valgrind 中运行?

c++ - 在链表的插入最后一个函数中交换两行时出错

c++ - libpng 错误未被 try/catch block 捕获

C++ 字节到位转换然后打印

linux - 是否存在无效的 pthread_t id?

linux - 无需密码启动systemd服务