从$ home目录以外的目录运行bash命令时,bash找不到.profile

时间:2016-07-02 00:21:42

标签: python bash shell

在我的/ home / user目录中,显然有一个.profile文件。在这个目录中,我可以运行bash命令,例如$bash run.sh。但在任何其他目录中,当输入$bash时,它总是抱怨

bash: .profile: No such file or directory

PS:我需要在非根目录中运行$bash,因为我实际上有一个python脚本run.py,其中包含此行subprocess.call( ['bash', 'test.sh'], shell=True)。运行这个python脚本时,bash抱怨没有.profile。

有人知道为什么吗?谢谢你的帮助!

1 个答案:

答案 0 :(得分:1)

请尝试此解决方案并让我知道它是否有效 - 因为我无法访问您的脚本和/或文件结构,而且这个问题是我在可用信息中唯一可以看到的问题,我将介绍此问题作为一个可能的答案:

这可能是因为在使用shell=True参数时拆分输入。根据文档,您必须使用以下命令:

subprocess.call('bash test.sh', shell=True)

因为通过shell执行不需要清理输入,即使这是一个安全隐患。

Source