Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/bash/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Bash 在带有RFID标签的Raspberry上启动Shell脚本_Bash_Shell_Raspberry Pi_Rfid_Raspberry Pi2 - Fatal编程技术网

Bash 在带有RFID标签的Raspberry上启动Shell脚本

Bash 在带有RFID标签的Raspberry上启动Shell脚本,bash,shell,raspberry-pi,rfid,raspberry-pi2,Bash,Shell,Raspberry Pi,Rfid,Raspberry Pi2,我正在为一家小咖啡馆编写一个现金系统,使用Raspberry 2(Raspbian OS)、触摸屏和RFID阅读器 我想彻底摆脱键盘和鼠标。因此,所有用户交互都必须使用触摸屏或RFID。 每个员工都有自己的RFID芯片,应该能够从控制台启动现金系统(无需键入“sh start_cash.sh”oslt) 树莓在没有密码oslt的情况下直接启动bash。现金系统是用JavaFX编写的(因此不允许使用X服务器)。当我将RFID放置在读卡器上时,tagnumber+enter会被写入控制台,这在这里似

我正在为一家小咖啡馆编写一个现金系统,使用Raspberry 2(Raspbian OS)、触摸屏和RFID阅读器

我想彻底摆脱键盘和鼠标。因此,所有用户交互都必须使用触摸屏或RFID。 每个员工都有自己的RFID芯片,应该能够从控制台启动现金系统(无需键入“sh start_cash.sh”oslt)

树莓在没有密码oslt的情况下直接启动bash。现金系统是用JavaFX编写的(因此不允许使用X服务器)。当我将RFID放置在读卡器上时,tagnumber+enter会被写入控制台,这在这里似乎非常方便。但如果不在RFID编号前键入“sh”(没有键盘,这是不可能的),我无法用RFID编号的名称编写shellscript,然后启动

因此,让我们假设:我有两个不同的rfid标签(1和2)和两个不同的外壳脚本(A和B)。我需要做什么,rfid 1启动脚本A,rfid 2启动脚本B?

case语句

case $rfidID in
     RFIDTAG1) 
        ./employeeA.sh
        ;;
     RFIDTAG2)
        ./employeeB.sh
        ;;
      *)
        echo "Employee ID not found"
        ;;
esac
但是如果你有很多员工,也许这会更有效率

#!/bin/sh

echo "Please sign in with Employee ID"
read rfidemployee

./Employee$rfidemployee.sh
因此,基本上,您将使用Employee(或您想要使用的任何东西)创建一个shell脚本,并按照它生成ID号。例如。Employee1234.sh


然后,当员工注销时,他们会重新执行脚本,让员工登录。

我认为我的最后一段已经够窄了。下面给出的答案确实有效!谢谢!但我找到了另一种方法,我想与您分享。因此,请重新打开此问题!谢谢,耶!这很有效,但我以不同的方式解决了它:I c创建了这样的别名:alias 111111=“sh shellscriptA.sh”和alias 22222=“sh shellscriptB.sh”。这不需要编写新脚本。但无论如何,谢谢!你能分享源代码吗?我很好奇。alias 00012345=“sh myscript.sh”-仅此而已。当员工扫描rfid时,数字00012345被解释为“可执行文件”真正的shell脚本“myscripts.sh”正在启动。没有其他源代码。。。