如何从当前Linux shell运行具有不同工作目录的程序?

∥☆過路亽.° 提交于 2020-03-16 22:25:21

某厂面试归来,发现自己落伍了!>>>

使用Linux shell,如何从当前工作目录启动具有不同工作目录的程序?

例如,我有一个二进制文件helloworld ,它在当前目录中创建文件hello-world.txt 。 该文件位于目录/a 。 目前我在目录/b 。 我想启动我的程序运行../a/helloworld并在第三个目录/c某处获取hello-world.txt


#1楼

为什么不保持简单

cd SOME_PATH && run_some_command && cd -

最后一个'cd'命令将带你回到最后一个pwd目录。 这适用于所有* nix系统。


#2楼

一个不需要子shell并且内置于bash的选项

(pushd SOME_PATH && run_stuff; popd)

演示:

$ pwd
/home/abhijit
$ pushd /tmp # directory changed
$ pwd
/tmp
$ popd
$ pwd
/home/abhijit

#3楼

只需将最后一个“&&”更改为“;” 无论命令失败还是成功,它都会回来:

cd SOME_PATH && run_some_command ; cd -

#4楼

从当前目录提供执行命令的脚本目录的完整路径

/root/server/user/home/bin/script.sh

#5楼

如果您始终希望它转到/ C,请在写入文件时使用绝对路径。

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!