OKWAVEのAI「あい」が美容・健康の悩みに最適な回答をご提案!
-PR-
解決
済み

RedHatのShellScriptについて

  • すぐに回答を!
  • 質問No.114607
  • 閲覧数41
  • ありがとう数1
  • 気になる数0
  • 回答数1
  • コメント数0

お礼率 94% (50/53)

初めて投稿します。よろしくお願いします。
RedHat7.0でShellScriptを作成しています。
初めて作るのでよくわかっていません。
下記スクリプトを実行すると、
./test.sh:aaa:command not found
とエラーになります。
原因がおわかりの方、アドバイスをいただけないでしょうか。
よろしくお願いいたします。

******test.shの内容*****************
#!/bin/bash

. /tmp/test.txt

para=$1
export para
echo $para
************************************

***test.txtの内容*******************
aaa
***********************************

********やりたい事*****************
変数paraにtest.txtに定義されている値を
代入して表示したい。
**********************************

権限はどちらのファイルも
chmod 777 test.sh
chmod 777 test.txt
に設定してあります。

回答よろしくお願いいたします。
通報する
  • 回答数1
  • 気になる
    質問をブックマークします。
    マイページでまとめて確認できます。

質問者が選んだベストアンサー

  • 回答No.1
レベル14

ベストアンサー率 50% (1122/2211)

> 変数paraにtest.txtに定義されている値を代入して表示したい。

こんな感じ。

read para < /tmp/test.txt


いろいろと勘違いをしているようなので、蛇足かもしれませんが幾つか。

> ./test.sh:aaa:command not found
> とエラーになります。

. は、それに続くファイルからコマンドを読み取って実行する特殊コマンド
だから、test.txt に書かれた aaa をコマンドとして実行しようとして、
「そんなコマンドはありまへん」と言ってるのですね。

> export para

para を環境変数として扱わないのであれば、不要です。

> 権限はどちらのファイルも
> chmod 777 test.sh
> chmod 777 test.txt

値を読み出すだけですから test.txt への実行権限付与は意味がありません。
また、. を本来の「コマンドを実行するため」に使っていたとしても、
実行権限はつける必要がありません。
お礼コメント
bunnyLove

お礼率 94% (50/53)

a-kumaさん、回答ありがとうございます。
read para < /tmp/test.txt
で、出来ました!ありがとうございます。
何も訳が解らずにサンプルコードをそのまま書いていたんです・・。
a-kumaさんの補足、とてもわかりやすく、参考になりました。

他にもつまづいている箇所がありますので、
またあらためて質問させていただくと思いますが
その時はまた宜しくお願いいたします。

ありがとうございました。
投稿日時 - 2001-08-06 14:22:38
-PR-
-PR-
このQ&Aで解決しましたか?
-PR-
-PR-
こんな書き方もあるよ!この情報は知ってる?あなたの知識を教えて!
このQ&Aにはまだコメントがありません。
あなたの思ったこと、知っていることをここにコメントしてみましょう。

その他の関連するQ&A、テーマをキーワードで探す

キーワードでQ&A、テーマを検索する
-PR-
-PR-
-PR-

特集


いま みんなが気になるQ&A

-PR-

ピックアップ

-PR-
ページ先頭へ