
こんにちは。何度もすみません。また質問させて下さい。
RedHat7.0でシェルスクリプトを作成しているのですが、
初心者の為(Linux自体よくわかってません)悪戦苦闘中です。
今回つまづいたのは、
#!/bin/bash
FName=/home/my/aaa.txt
read str1 str2 str3 <$FName
とした時、まず、実行している場所が
/tmp
な為、FNameに/home/myとやるとファイルがありません、
と言われてしまいます。
../home/myでもだめなんですね~・・・どうしてでしょう・・・。
もうひとつ、
aaa.txtの中身に記述されているデータが、空白区切りの時は
うまくstr1 str2 str3に値が入ってくれるのですが、
カンマ区切りデータが入っていると値が入ってくれません。
自分なりに調べて-dを使うと出来るっぽい所までは
わかったのですが、具体的な使い方がいまいちわからないのです。
read str1 str2 str3 <$FName -d,
なんて書いてみたのですが・・・全然だめのようです。
なかなか良いサンプルコードが見つからなくて・・・。
すみませんが、アドバイスいただけたら、と思います。
宜しくお願いいたします。
No.1ベストアンサー
- 回答日時:
またお会いしましたね。
では、早速。> FNameに/home/myとやるとファイルがありません
フルパスで書いているのですから、実行している位置には関係ないです。
怪しいのは、読み込もうとしているファイル周りの権限。
/home/my/aaa.txt から中身を読み込む為には、実行ユーザが
・aaa.txt に対して読み込み権限を持っていること
・/home 及び /home/my ディレクトリに実行権限を持っていること
が必要です。
> カンマ区切りデータが入っていると値が入ってくれません
これについては、こんな感じでできます。
IFS=,
read str1 str2 str3 < $FName
bash の man でシェル変数のところに記述がありますので、詳細はそちらを
どうぞ。
> なかなか良いサンプルコードが見つからなくて・・・
一番のお手本は、起動スクリプトですよ。/etc/rc0.d とかの下にあるやつ。
絶対動くって保証もあるし。
a-kumaさんおはようございます。回答ありがとうございます。
今教えていただいた通りやってみたら動きました!
なるほど、ディレクトリに実行権限が無いとだめなんですね~~
難しいです~~。
カンマ区切りのも無事できました。
manは、読んでも難しくてさっぱりわからないんですよね・・・。
でもがんばって読んで勉強します。
今回のスクリプトはとりあえずこれで動きそうです。
本当に助かりました。どうもありがとうございます。
なるほど、起動スクリプトですか・・・
ああいうのをさらっと書けるようになるといいんですけど。。
かんばります!!
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
コマンドプロンプトのエラーに...
-
[teraterm] waitコマンドで停止...
-
バッチファイルの内容を表示さ...
-
「読み取りと実行」と「読み取...
-
複数のbatファイルを自動実行し...
-
リリース実行やExe実行で動作が...
-
PDFファイルを開き、印刷し、閉...
-
ExcelのVBAが特定のPC上でのみ...
-
exeファイルを実行するとコマン...
-
Access の VBA 実行中に他の操...
-
VBScriptでコマンドプロンプト...
-
VScodeのエラー解決法 Pythonの...
-
【VB.NET】exeを実行すると「発...
-
VBAでバッチファイルを1つ実行...
-
ネットワーク名が見つかりません
-
これってパソコンの最適化が完...
-
Windows System32 Security Hea...
-
バッチファイルが不正終了して...
-
Excel(エクセル) VBA プロシー...
-
COBOLのイニシャライズとバリュ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
コマンドプロンプトのエラーに...
-
[teraterm] waitコマンドで停止...
-
バッチファイルの内容を表示さ...
-
これってパソコンの最適化が完...
-
複数のbatファイルを自動実行し...
-
「読み取りと実行」と「読み取...
-
VBscriptが起動しない?
-
exeファイルを実行するとコマン...
-
Access の VBA 実行中に他の操...
-
エクセル フォルダの画像を画...
-
VBScriptでコマンドプロンプト...
-
Excel(エクセル) VBA プロシー...
-
バッチファイルが不正終了して...
-
Windows System32 Security Hea...
-
NASに移したBATファイルからセ...
-
ExcelのVBAが特定のPC上でのみ...
-
Excel VBA ステップインが途中...
-
PDFファイルを開き、印刷し、閉...
-
COBOLのイニシャライズとバリュ...
-
VBA 既に開いているBookに継続...
おすすめ情報