передача аргументов при запуске сценария оболочки

Привет! Я пытаюсь создать сценарий оболочки, который будет принимать аргументы при запуске. Цель, которую я хочу достичь, - вызвать скрипт python, который сам по себе принимает аргументы. Если аргументы отсутствуют, оператор по умолчанию делает их предопределенными значениями по умолчанию. Это сценарий, который я пытаюсь заставить работать:

#!/bin/bash
#Script for calling th e python script sniff.py

while getopts d:D o
do case "$o" in
d)  usb_dev="@OPTARG";;
D)  console_outp="@OPTARG";;
*)  usb_dev=ttyUSB1;
    console_outp=INFO;      
esac
done

sniff=/home/user/Documents/Wireshark/Sensniff/sniff.py

sudo python $sniff -d "$usb_dev" -D "$console_outp"
sleep 5d

Этот сценарий, конечно, не работает. Не могли бы вы помочь мне сделать этот скрипт работающим?

1
задан 14 September 2015 в 11:48

1 ответ

попробуйте

#!/bin/bash
#Script for calling th e python script sniff.py

usb_dev=ttyUSB1
console_outp=INFO

while getopts d:D: o
do case "$o" in
d)  usb_dev="$OPTARG";;
D)  console_outp="$OPTARG";;
esac
done

(same as your script)
  • , значение по умолчанию должно быть инициализировано прежде.
  • использование $OPTARG вместо @OPTARG
  • опция определяются как :D:d:
0
ответ дан 14 September 2015 в 21:48
  • 1
    Я использовал , sudo dpkg-реконфигурировали lightdm/gdm3 с помощью терминала, который я упомянул, который я едва видел! – Harish Ganesan 5 December 2016 в 08:15

Другие вопросы по тегам:

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