Как использовать `module load program / 1.1` в сценарии bash?

Определенно можно удалить папку, если у вас есть необходимые права, такие как sudo или root доступ.

По соглашению, / usr является вторичным по отношению к основным системным операциям. Обычно это позволяет вашему компьютеру загружаться без него, но вам будет не хватать почти всего, что на нем установлено.

Следовательно, удаление / usr / bin приведет к необходимости переустановки всех программных пакетов, не критичных для системы. Может быть оправдана полная переустановка системы.

Обратите внимание, что при ссылке на папку внутри другой папки вы указываете полный путь: bin в / usr равно / usr / bin .

2
21.12.2016, 21:33
2 ответа

Сценарий оболочки - это просто список команд для запуска, почти как если бы вы вводили их в командной строке. Итак, правильный способ:

module load program/1.1

... точно так же, как вы запускаете из командной строки. Обратите внимание: если это приводит к тому, что команда не найдена, вам, вероятно, потребуется источник в $ MODULESHOME / init / (который устанавливает команду module ).

Команда module на самом деле является функцией оболочки, поэтому она может управлять средой вашей текущей оболочки.

source делает нечто иное: по сути, он копирует и вставляет исходный сценарий в ваш. Поэтому, если исходный сценарий определяет функции, вы можете их вызывать. Если он устанавливает переменные, даже не экспортированные, вы можете их увидеть.

Теперь, если вы хотите написать скрипт, который загружает кучу модулей для использования в вашей интерактивной оболочке, тогда из вашей интерактивной оболочки вам нужно получить ваш скрипт , но не модуль . Это объясняется в FAQ по модулям .

1
27.01.2020, 22:19

У меня была аналогичная проблема, и в конце концов я понял, что мне нужны правильные функции shebang и call. Итак, для будущих пользователей, в три шага:

1 )использовать #!/bin/bashв качестве шебанга

2 )добавить module load program/1.1в ваш скрипт

3 )запустите скрипт с помощью ./yourscript.shили bash yourscript.sh, но НЕ sh yourscript.sh, так как это не сработает

0
27.01.2020, 22:19

Теги

Похожие вопросы