我写了一个非常简单的perl脚本,现在我想让它从任何地方都可执行.
我知道我可以将它放入/ bin /,从'mytest.pl' - >'mytest'和chmod + x重命名,但这是标准做法吗?我注意到/ bin /中没有任何内容是perl脚本.
另外,我希望它能够登录到/ var/logs/mytest/*
我应该注意哪些安全问题?
我想使用Runtime.exec()在带空格的目录中启动另一个进程.(这听起来很愚蠢,但我真的想满足我的好奇心)
问题的详细信息(简化版)我有一个myprogram.exe位于C:/ Program Files/MyProgram.
我观察到的:1).当我调用Runtime.exec("C:// Program Files // MyProgram // myprogram.exe")时,IOException指示:找不到文件C:/ Program,错误代码= 2.我认为它必须是结果空间
2).我试过:Runtime.exec("/"C:// Program Files // MyProgram // myprogram.exe /""),IOException表示:找不到文件:"C:/ Program Files/MyProgram/myprogram.可执行程序"
3).我吸取了教训并尝试了Runtime.exec()的重载版本:File dir = new File("C:// Program Files // MyProgram //"); 并运行:Runtime.exec("myprogram.exe",null,dir),它说:在C:/ Program Files/MyProgram /找不到文件myprogram.exe
4).我试过1),而不是"程序文件",我将它重命名为Program_Files,一切正常
我知道我也可以使用ProcessBuilder做类似的事情,但我不能放在心里......(也许这是我的弱点).谁能告诉我为什么2)和3)不起作用?
谢谢.
以下是Python脚本中的相关代码,其中执行一些命令来复制可执行文件然后执行它:
exe_file_path = os.getcwd() + r'\name_of_executable.exe'
temp_loc = os.environ['temp']
subprocess.Popen(r'copy %s %s' % (exe_file_path, temp_loc), shell=True)
exe_file_path = os.environ['temp'] + r'\name_of_executable.exe'
subprocess.Popen(r'start %s' % (exe_file_path), shell=True)
subprocess.Popen(r'del %s' % (exe_file_path), shell=True)
Run Code Online (Sandbox Code Playgroud)
目前,name_of_executable.exe只打印文本然后调用system("pause").
暂停执行后,我推enter,我会假设可执行文件将关闭,Python脚本将继续,但Python的最后一行不会执行.
这是因为我正在使用TEMP文件夹吗?(我正在以管理员身份运行的命令提示符执行.如何让脚本运行?
我可能不会在正确的位置问这个问题,但是在某个地方我可以研究可执行二进制文件的结构是什么吗?如,代码的组织方式,符号的存储位置等.
我已经在网上寻找答案了很长一段时间,但这让我很头疼:
我正在使用Ubuntu 12.04,我想从终端执行Python脚本而不使用完整路径.所以我通过将以下内容添加到./bashrc中将/ home/kyril/python/scripts /添加到PATH变量:
kyrilpathvariable="/usr/lib/lightdm/lightdm:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/home/kyril/Python/scripts/:/home/kyril/Bash/scripts"
if [ "$kyrilpathvariable" = "$PATH" ]; then
echo PATH already exported
else
PATH=$PATH:/home/kyril/Python/scripts/
PATH=$PATH:/home/kyril/Bash/scripts/
export PATH
fi
Run Code Online (Sandbox Code Playgroud)
(我知道if子句不是必需的,但如果我输入exec bash,我不想在我的PATH中有两次.)
现在的问题是:这完全适用于我的Bash脚本,所以在通过chmod使它们可执行后我可以输入$ script.sh并执行它.但是,如果我键入$ python3 script.py以下错误引发:python3: can't open file 'script.py': [Errno 2] No such file or directory
如果我输入脚本的完整路径,它的工作原理.有谁知道我做错了什么?我是否必须将目录添加到PYTHONPATH?(据我所知,这只对导入模块有帮助).
多谢你们!
我有一个IPA文件,其中包含info.plist,可执行文件,package.info,供应证书,动态库,代码资源等.我想知道首先执行哪个文件以及执行发生的顺序.我想在IPA中添加一些内容,为此我需要了解现有IPA的工作原理.
提前致谢.
Python源文件具有使用该模式既可以作为模块也可以作为独立程序(工具)的良好属性
if __name__ == "__main__":
Run Code Online (Sandbox Code Playgroud)
是否有可能为D模块源文件获得相同的行为?
我一直在寻找关于此的许多类似帖子,但我仍然找不到答案.我想将.java程序转换为Linux可执行文件,不带.jar扩展名.我该怎么做?我正在尝试使用Launch4j java包装器,JWrapper,IzPack,制作.sh,制作.bat,使用java -jar myFile.jar等运行它,但它们都没有工作.有些程序复杂且难以调试.有没有直接的方法将.java文件或.jar文件转换为Linux可执行文件?
我需要将此程序作为Linux可执行文件整体传递到另一个程序中,该程序将此程序作为参数.
我很难理解汇编和二进制之间的区别.我只需要了解链接二进制和汇编之间的关系.
我创建了一个python脚本的可执行文件(.exe文件).
由于磁盘格式化,我丢失了原始python脚本(也没有备份)的文件夹.
我偶然得到了驱动器上的可执行文件.
我可以将它重新转换为python脚本吗?
executable ×10
python ×4
assembly ×2
binary ×2
java ×2
bash ×1
binaryfiles ×1
d ×1
dylib ×1
eclipse ×1
ipa ×1
iphone ×1
linux ×1
machine-code ×1
module ×1
path ×1
perl ×1
python-3.x ×1
runtime.exec ×1
spaces ×1
wrapper ×1