Как передать аргументы в код bash / python при выполнении в приглашении bash / python? [при выполнении вручную (или) в режиме exec через SSH] - PullRequest
0 голосов
/ 27 марта 2019

Я запускаю скрипт в bash командной строке / командной строке вручную.Как передать аргументы?

mem_utilization=`free -m | awk 'NR==2{printf "%.2f\n", $3*100/$2 }'`

Примечание:

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

На этот вопрос можно ответить в ручном контексте.

(Просто вкратце, это то, что я пытаюсь сделатьМне нравится это знать и делать то же самое при запуске кода через SSH в режиме exec (или) командной строки (или) кода командной строки (или) python в приглашении python.)

mem_utilization=`free -m | awk 'NR==2{printf "%.2f\n", $3*100/$2 }'`

Примечание :

Использование символа % в качестве аргумента и присоединение в конце.

mem_utilization=80%

1 Ответ

0 голосов
/ 27 марта 2019

Для первой части я не совсем уверен, что вы хотите сделать: используя ваш синтаксис awk, вы можете добавить свой% с помощью:

mem_utilization=$(free -m | awk 'NR==2{printf "%.2f\n", $3*100/$2 }')
mem_utilization=$mem_utilization'%'
echo ${mem_utilization}

вы можете поместить это в скрипт оболочки для запуска по SSH с чем-то вроде

ssh user@pc123456 'bash -s' < local_script.sh

и за то, что вы хотите передавать аргументы в запросы Python через ssh: это работает так же, как и в любое другое время: используйте argparse и передайте аргументы с помощью «path_to_script» - «name of arguments» 1 ... - «name of arguments»

Тот факт, что вы хотите использовать пароль в качестве аргумента, - это то, что вы должны внимательно рассмотреть: вы можете использовать sshpass. Но тогда ПОЖАЛУЙСТА, НЕ ПИШИТЕ ЭТО В СЦЕНАРИЙ. Вместо этого используйте read, чтобы ввести пароль один раз. (сравните с этим обсуждением: Автоматический ввод пароля SSH со скриптом )

...