Linuxでシェルスクリプトを書いています。
USBメモリをマウントし、
その中に Data というフォルダが存在しているかどうか確認をし、それをメッセージで表示する。
という内容です。
#!/bin/bash
sudo mount /dev/sda1 ./usb
if [ ! -d ./usb/Data/ ]; then
echo "Data 無し。"
else
echo "Data 有り。"
fi
と書いているのですが、
USBメモリの中に Data を用意しても、上記コードでは見つけることができないらしく、
常に"Data 無し。"と表示されてしまいます。
何故目的のフォルダを見つけることができないのでしょうか。
おそらく目的のフォルダがマウント先、つまり所有者がrootなのが問題なのだと思うのですが、
所有者がrootでも上記のようにフォルダの有無を判断するコードはあるでしょうか。
A 回答 (1件)
- 最新から表示
- 回答順に表示
No.1
- 回答日時:
>sudo mount /dev/sda1 ./usb
まず、mountが成功していますか?
マウント先のディレクトリ名が「相対パス」表記になっていますから、
カレントディレクトリが、/の時と/rootの時と/usr/binの時などで動作が変わりますが…。
>if [ ! -d ./usb/Data/ ]; then
最後の/は不要…だと思いますが。
カレントディレクトリの場所によってはusbというディレクトリ自体が無いかも知れません。(前述の通り)
この回答への補足
作成したスクリプト自体の実行に sudo を付けたところ、正常に動作しました。
コマンド入力する文字数を減らしたかったので意図的にsudoを付けなかったのですが、付けるしか無いらしく、残念です。
このスクリプト名をAAAとし、
sudo ./AAA
と書いたスクリプトBBBを作成し、./BBBと入力し実行する、という流れでも正常に動作しますが、
まどろっこしくて。
回答ありがとうございます。
マウントは成功しています。
マウントの行の次にls -lでマウントポイントの中を表示させてみましたが、USBメモリの中がちゃんと表示されました。
また、フルパスにしてみましたが、変化ありませんでした。
(Dataをフォルダでなくファイルにしてみて)-fで、ファイルかどうか判断する条件式にするとうまくいくんですが、
-dだと判断できていないようです。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- ドライブ・ストレージ USBメモリ。信頼できるUSBメモリ容量は何ギガまで? 7 2022/04/14 07:31
- PHP PHPでCookieを使った訪問回数について 1 2023/05/28 14:10
- その他(プログラミング・Web制作) Python - Excel で Webからデータを連続取得したいのですが エラーが出ます 1 2023/07/06 20:08
- Excel(エクセル) エクセルのマクロについて教えてください。 1 2023/02/21 09:28
- UNIX・Linux 次の要件を満たすにはどのように修正したらよろしいでしょうか 1 2022/11/24 20:57
- Java 動かなくなったのでJavaソースを手直しお願いします。 2 2022/04/30 05:35
- Mac OS 【MacOS】外付けHDDがUSB3.1バス上でのみアクセス出来なくなる 1 2022/10/29 10:27
- Excel(エクセル) 何方か知恵をください… 下記のシート1にシート2のDATAを表示させたいです。 (シート1の2行目の 6 2022/03/28 17:27
- その他(プログラミング・Web制作) pythonでDBのカラム名で取得したオブジェクトの値を表示したい 1 2022/05/13 03:41
- UNIX・Linux Linuxのbash環境下です。 1 2022/11/27 12:31
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルで相対パスの書き方を...
-
ディレクトリパスの取得について
-
C# FTPサーバ カレントディレ...
-
Perl の外部モジュールの利用方法
-
月の第一週とは
-
よくある 『 第○(1・2・3・4・...
-
エクセルで毎月第2週日の水曜日...
-
DBを10件毎に表示ページング...
-
apacheでPerl CGIが作動せず、5...
-
Excelで第一〇曜日を求める方法...
-
jcode.plが読み込めない
-
燃えるゴミの日は何曜日ですか?
-
[Excel] ある日の曜日が当月の"...
-
VBA。複数のChangeイベントをま...
-
6月の第2 第4火曜日は何日...
-
週2回のペースって だいたい何...
-
ftpでのネットワークバイトオー...
-
CGI RESCUEの簡易予約システムY...
-
ヘッダのinclude順
-
perlでHTTP Request Headersの...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルで相対パスの書き方を...
-
Perl の外部モジュールの利用方法
-
C# FTPサーバ カレントディレ...
-
上位階層のディレクトリパスを...
-
useする自作のモジュールについ...
-
Pythonのstatsmodelsでカルマン...
-
SSIで呼び出したURLの取得
-
cocoa で ユーザーディレクトリ...
-
ディレクトリの削除について
-
ロックしたディレクトリが消え...
-
ロリポップでCGIが動きません。
-
/から始まる絶対パスは どこで...
-
よくある 『 第○(1・2・3・4・...
-
月の第一週とは
-
エクセルで毎月第2週日の水曜日...
-
週2回のペースって だいたい何...
-
apacheでPerl CGIが作動せず、5...
-
毎○曜日って、使いますか?
-
[Excel] ある日の曜日が当月の"...
-
アンケートなどの1日1回の投...
おすすめ情報