2

Я хотел бы использовать source команду в сценарии оболочки.

То, что я сделал, это как показано ниже,

в start.sh

source ~/tensorflow/bin/activate

затем в командной строке запустите этот скрипт.

$sh start.sh

Однако ничего не происходит и

$which source

команда ничего не показывает

Итак, source не нормальная команда ??

Это неправильная идея? или как можно уменьшить тип пути ???

3 ответа3

3

source - встроенная команда оболочки. Команда which ищет двоичные файлы в PATH , например, в /usr /bin, /bin, /sbin и т.д., Но вы не найдете встроенных команд в отдельном двоичном файле.

Кроме того, наличие команды source в сценарии оболочки не приводит к распространению source до текущей оболочки при запуске. sh blah.sh где в blah.sh есть source , фактически не будет помещать содержимое файла в вашу интерактивную оболочку. Это не так, как работает источник.

Если вы хотите, чтобы этот сценарий активации тензорного потока происходил каждый раз, когда вы открываете новую оболочку, вам нужно отредактировать ~/.bashrc или ~/.profile (or other files, depending on what your shell is and how it's configured) and put the source` прямо там.

PS - заголовок вашего вопроса очень запутанный и выглядит неполным. Потратьте некоторое время, чтобы отредактировать, отредактировать и очистить ваше сообщение, или вы рискуете, если кто-то его опровергнет:P Я сам соблазнился сделать это, но я написал ответ, поэтому я немного предвзят.

2

Пожалуйста, используйте команду:

source start.sh

Я столкнулся с этой самой проблемой, когда хотел избежать написания:

source ~/.bashrc
source activate tensorflow
jupyter notebook

После этого я наткнулся на страницу, которая объясняет это лучше: каковы различия между выполнением сценариев оболочки с использованием «source file.sh», «./file.sh», «sh file.sh», «. ./file.sh»? Спроси Ubuntu.

0

Похоже, что вы хотите активировать виртуальную среду Python, где вы установили тензор потока. Вы можете попробовать использовать alias в ~/.bashrc .

добавлять

alias pytensorflow='source ~/tensorflow/bin/activate'

в конце ~/.bashrc , ниже линии

# User specific aliases and functions

Запустите сеанс bash, и вы можете просто ввести pytensorflow в командной строке, чтобы активировать виртуальную среду. Я успешно использовал это.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .