Как выполнить команду в файле с дополнениями?

lsblk имеет опцию -eдля исключения устройств по старшим номерам устройств.

Устройства drbd в выводе lsblkвыше имеют старший номер 147, поэтому они будут исключены из списка:

lsblk -a -e 147

Это не приведет к удалению каких-либо узлов устройств drbd из вашей системы и никакому взаимодействию со службой DRBD, оно просто исключит устройства drbd из вывода lsblk.

0
23.04.2018, 21:45
1 ответ

В вашем скрипте просто сделайте его переменной с быстрой проверкой работоспособности:

pyfile="file.py"
sudo PYSPARK_DRIVER_PYTHON=/bin/python2.7 PYSPARK_PYTHON=/bin/python2.7 SPARK_CONF_DIR=/configuration/spark2 /spark2.1/bin/spark-submit --driver-memory 2g --executor-memory 4g --num-executors 100 --jars /lib/json-serde-1.3.7-jar-with-dependencies.jar "${pyfile?python script not specified}"

Конструкция ${var?message}выдаст ошибку и отобразит message, если переменная varне определена или пуста.

Вы также можете указать значение по умолчанию, используя ${var-defaultvalue}.

Вы также можете сделать это функцией для более простого вызова:

runjob() {
    sudo PYSPARK_DRIVER_PYTHON=/bin/python2.7 PYSPARK_PYTHON=/bin/python2.7 SPARK_CONF_DIR=/configuration/spark2 /spark2.1/bin/spark-submit --driver-memory 2g --executor-memory 4g --num-executors 100 --jars /lib/json-serde-1.3.7-jar-with-dependencies.jar "${1?python script not specified}"
}

runjob "/path/to/file.py"
runjob "/path/to/some/other/file.py"
1
28.04.2021, 23:47

Теги

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