【发布时间】:2017-03-26 16:50:10
【问题描述】:
我想用一个调用它作为 ld.so 参数的快捷方式替换 python(符号链接): 例如
/home/user/my_libc_env/lib/x86_64-linux-gnu/ld-2.17.so /home/user/anaconda2/envs/tf_011g/bin/python2.7
而不是(默认)
/home/user/anaconda2/envs/tf_011g/bin/python2.7
注意事项:
我需要它作为链接而不是别名,因为我的 IDE 调试器 (pycharm) 显式调用了该链接。
它应该能够支持额外的命令行参数(如果存在)
仅仅使用ln -s 是行不通的,因为它不接受参数。 我尝试将其包装为 bash 脚本,但效果不佳(从命令行可以正常工作,但从 IDE 调试器调用时会出现 SegFault)
还有其他方法吗?
编辑(澄清): 这是我为 bash 脚本尝试的(从命令行可以正常工作,但从 IDE 调试器调用时会产生分段错误)
#!/bin/bash
LD_LIBRARY_PATH="$LD_LIBRARY_PATH:/usr/local/cuda-7.5/lib64:/usr/local/cuda-8.0/lib64/cuda/lib64:$HOME/my_libc_env/lib/x86_64-linux-gnu/:$HOME/my_libc_env/usr/lib64/:$HOME/my_libc_env/usr/lib/" $HOME/my_libc_env/lib/x86_64-linux-gnu/ld-2.17.so $HOME/anaconda2/envs/tf_011g/bin/python2.7 "${@}"
【问题讨论】:
-
首先,你知道什么是符号链接吗?
-
尝试使用
exec... 即LD_LIB... exec $HOME/...看看是否会有所不同。 -
@DietrichEpp,谢谢,它没有
标签: python linux bash shared-libraries symlink