В настоящее время у меня есть этот сценарий задания, где мне нужно подключиться к прокси-серверу для доступа к моим необходимым файлам:
#!/usr/local_rwth/bin/zsh
#SBATCH --mem-per-cpu=20G
#SBATCH --job-name=Dataloading
#SBATCH --output=output.%J.txt
source /rwthfs/rz/cluster/home/dk904271/miniconda3/bin/activate
voms-proxy-init --voms cms --vomses /rwthfs/rz/cluster/home/dk904271/.grid-security/vomses
но после последней команды меня просят ввести Gridkey. Как я могу указать моему скрипту работы ввести пароль? просто ввод пароля, поскольку следующая команда, похоже, не работает. Также нет возможности указать пароль в начальной команде.
Не уверен, что думал, что будет базовая команда powershell, решающая мою проблему. Но вы правы, я исправил свой тег на zsh.
Согласно странице руководства , команда voms-proxy-init
принимает аргумент -pwstdin
для
Разрешить [s] фразу-пароль из стандартного ввода
Итак, вы можете попробовать что-то вроде
voms-proxy-init --voms cms --vomses /rwthfs/rz/cluster/home/dk904271/.grid-security/vomses <<< "the_password"
или
echo "the_password" | voms-proxy-init --voms cms --vomses /rwthfs/rz/cluster/home/dk904271/.grid-security/vomses
Другой вариант — использовать expect.
Спасибо, я использовал первое решение. Когда я попробовал это в первый раз, это не сработало, потому что я ввел пароль после -pwstdin, но на самом деле мне пришлось создать файл, содержащий пароль.
Почему ты отметил это
PowerShell
?