Где у вас проблемы с вашим подходом?Если вы не знаете, как передавать переменные в python, если это так, вы можете сделать что-то вроде
hashed_pwd=$(python2 -c "import crypt,getpass; print crypt.crypt($YOURPASS)")
Обратите внимание на изменения, которые я сделал: - называется python2, так как ваш код написан на python2чтобы избежать этого, может быть, вместо этого запускается интерпретатор python3 - изменилось «использовать», что позволяет замену переменных - переход с обратных символов на нотацию $()
более или менее косметически
Кстати, когда я пытался протестироватьэто, как я заметил, в моей среде, кажется, у меня разные версии пакета crypt. В одном crypt нужны два аргумента (пароль и соль, где соль должна быть строкой), в другом второй аргумент является необязательным.
Если это также относится к вашей системе, вы можете передать его из среды оболочки как:
python2 -c "import crypt,getpass; print crypt.crypt(getpass.getpass(),'$salt')"