前提・実現したいこと
実現したいことは、ラズパイにUSBメモリを挿し込むと、cpコマンドが書いてあるシェルスクリプトを自動で実行し、テキストファイルを別のテキストファイルにコピーする ということです
USB挿入でプログラムを実行する方法を参考に、USBメモリの情報取得後、/etc/udev/rules.d配下に以下のような10-usbmem.rulesを作成しました。
rules
1ACTION=="add", \ 2SUBSYSTEMS=="usb", \ 3ATTRS{idVendor}=="1a85", \ 4ATTRS{idProduct}=="0312", \ 5RUN+="/bin/bash /home/pi/test1.sh"
自動起動しようとしているシェルスクリプト(/home/pi/test1.sh)は、以下のようになっております。
sh
1#!/bin/bash 2sudo cp /etc/wp/sample1.txt /etc/wp/sample2.txt
コピー元の/etc/wp/sample1.txtは、以下のようになっております。
txt
1テスト1
コピー先の/etc/wp/sample2.txtは、以下のようになっております。
txt
1テスト2
USBメモリを挿し込んで認識されたときに、rulesによってtest1.shを自動で起動し、cpコマンドが実行されることによりsample2.txtの内容がテスト1に書き換わるか確認したところ、書き換えが行われていませんでした。
そこで、/home/pi/test1.shを以下のように書き換えました。
sh
1#!/bin/bash 2sudo cp /etc/wpa/sample1.txt /etc/wpa/sample2.txt 3sudo shutdown -h now
すると、USB認識時にシャットダウンは問題なく自動で行われました。
shutdownコマンドは普通にできて、cpコマンドだとできない理由は一体何なのでしょうか...?
色々と調べましたが、わかりませんでした。
すみませんが何か助言をくださると幸いです
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/08/27 06:44