2014-01-21 3 views
18

Есть ли способ постоянно создавать собственные коллекции программного обеспечения для RedHat?Постоянно включить RHEL scl

Я установил scl для обеспечения python27 в RHEL6 и не хочу, чтобы каждый раз настраивать пользовательский scl.

ответ

25

Ну, вы можете добавить что-то в свой сценарий запуска, чтобы запустить сценарий включения.

Например, добавить в свой .bash_profile (примечание пространства между начальным dot и /)

. /opt/rh/python27/enable 
+7

Собирая /etc/profile.d/ является [гораздо лучшим решением] (http://developerblog.redhat.com/ 2014/03/19/постоянно включения-а-программное обеспечение сбора /). Что делать, если человек не является пользователем bash? – SummerBreeze

4

Этот вариант звучит опасно для меня корня. Я думаю, что что-то вроде следующего было бы более безопасным и более подходящим:

Вы можете создать функцию, которая принимает параметры командной строки. Подумайте об этом как о псевдониме на стероидах. Добавьте следующие строки в .bashrc

python27() { 
scl enable python27 “python $*” 
} 

Тогда тест:

python27 –version 
Python 2.7.5 

Это не поможет с вашей волшебной линии в сценариях, но будет проще называть скрипты:

[[email protected] ~]$ cat script.py 
#!/usr/bin/env python27 

import sys 

print “Hello, World!”, sys.version 

Звоните это нормально и обратите внимание, используется установка python по умолчанию:

[[email protected] ~]$ ./script.py 
Hello, World! 2.6.6 (r266:84292, Sep 4 2013, 07:46:00) 
[GCC 4.4.7 20120313 (Red Hat 4.4.7-3)] 

Назовите это с нашим псевдонимом, и обратите внимание, что Python 2.7 используется:

[[email protected] ~]$ python27 script.py 
Hello, World! 2.7.5 (default, May 23 2013, 06:08:09) 
[GCC 4.4.7 20120313 (Red Hat 4.4.7-3)] 
+0

Кажется, что разрыв, если script.py переименован в имя, содержащее пробел, например, "abc def.py" – mogul

Смежные вопросы