たんなるメモです。
×
[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。
先日友人から「シェルスクリプトでよくねー?」って言われたので、上記プログラムをシェルスクリプト移植してみた。
※動作実験してません
※このままコピペしても動かないと思います。
※エラい人添削お願いします。
※動作実験してません
※このままコピペしても動かないと思います。
※エラい人添削お願いします。
#!/bin/sh
NUM = 0
PRG = "sudo PROGRAM -OPTION "
# GPIOのポート2,3,4,17を入力でオープン
#
echo 2 > /sys/class/gpio/export
echo in > /sys/class/gpio/gpio2/direction
echo low > /sys/class/gpio/gpio2/direction
echo 3 > /sys/class/gpio/export
echo in > /sys/class/gpio/gpio3/direction
echo low > /sys/class/gpio/gpio3/direction
echo 4 > /sys/class/gpio/export
echo in > /sys/class/gpio/gpio4/direction
echo low > /sys/class/gpio/gpio4/direction
echo 17 > /sys/class/gpio/export
echo in > /sys/class/gpio/gpio17/direction
echo low > /sys/class/gpio/gpio17/direction
# GPIOポートの入力状態を調べ数値に変更
#
if cat /sys/class/gpio/gpio2/value -eq 1
then
NUM = `expr $NUM + 1`
fi
if cat /sys/class/gpio/gpio3/value -eq 1
then
NUM = `expr $NUM + 2`
fi
if cat /sys/class/gpio/gpio4/value -eq 1
then
NUM = `expr $NUM + 4`
fi
if cat /sys/class/gpio/gpio17/value -eq 1
then
NUM = `expr $NUM + 8`
fi
# GPIOのポートを閉じる
#
echo 2 > /sys/class/gpio/unexport
echo 3 > /sys/class/gpio/unexport
echo 4 > /sys/class/gpio/unexport
echo 17 > /sys/class/gpio/unexport
# 条件に応じて実行データを設定
#
case $NUM in
0 ) EXE = "OBJECT01";;
1 ) EXE = "OBJECT02";;
2 ) EXE = "OBJECT03";;
3 ) EXE = "OBJECT04";;
4 ) EXE = "OBJECT05";;
5 ) EXE = "OBJECT06";;
6 ) EXE = "OBJECT07";;
7 ) EXE = "OBJECT08";;
8 ) EXE = "OBJECT09";;
9 ) EXE = "OBJECT10";;
10 ) EXE = "OBJECT11";;
11 ) EXE = "OBJECT12";;
12 ) EXE = "OBJECT13";;
13 ) EXE = "OBJECT14";;
14 ) EXE = "OBJECT15";;
15 ) EXE = "OBJECT16";;
esac
# プログラム オプションと結合
#
EXE = `expr $PRG + $EXE`
# 表示と実行
#
echo ${EXE}
${EXE}
# v0.0.0 Oct. 26 2015
PR
この記事にコメントする
プロフィール
HN:
ぽんかん
性別:
非公開
P R
忍者カウンター