Я новичок в bash, и я начал работать над простым скриптом bash, чтобы включать или отключать контакты GPIO на малине. Я хотел бы предоставить аргументы скрипту следующим образом: script.sh GPIO_number start/on/off/clean. Как я могу продолжить этот сценарий наиболее эффективным способом? Я застрял во втором аргументе.Несколько аргументов в скрипт bash
#!/bin/bash
if [ -z $1 ]; then
echo "Usage: gpioaction.sh GPIO start/on/off/clean"
exit 1
fi
if [ -z $2 ]; then
echo "Usage: gpioaction.sh GPIO start/on/off/clean"
exit 1
fi
PIN=$1
start=$(echo "$PIN" > /sys/class/gpio/export;echo "out" > /sys/class/gpio/gpio$PIN/direction;echo "1" > /sys/class/gpio/gpio$PIN/value)
on=$(echo "1" > /sys/class/gpio/gpio$PIN/value)
off=&(echo "0" > /sys/class/gpio/gpio$PIN/value)
clean=&(echo "$PIN" > /sys/class/gpio/unexport)
Определение "Я застрял на второй аргумент." Вы знаете, как использовать позиционные параметры '$ 1' и' $ 2'. Тогда в чем проблема? – 4ae1e1
@ 4ae1e1 Ну, $ 2 можно определить для начала, включения, выключения или очистки. Можете ли вы написать мне пример для: script.sh 19 start и script.sh 19 clean – burek
Все еще не уверен, что вы имеете в виду, но похоже, что вам нужен 'case': https://www.gnu.org/software/bash/ ручной/bash.html # Условные-конструкты. – 4ae1e1