- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:RedHatのShellScriptについて)
RedHatのShellScriptで発生するエラーの原因と解決方法
このQ&Aのポイント
- 初めて投稿します。よろしくお願いします。RedHat7.0でShellScriptを作成しています。
- 下記スクリプトを実行すると、./test.sh:aaa:command not foundとエラーになります。原因がおわかりの方、アドバイスをいただけないでしょうか。
- やりたいことは、変数paraにtest.txtに定義された値を代入して表示することですが、うまくいかない状況です。権限はchmod 777 test.shとchmod 777 test.txtに設定してあります。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
> 変数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 への実行権限付与は意味がありません。 また、. を本来の「コマンドを実行するため」に使っていたとしても、 実行権限はつける必要がありません。
お礼
a-kumaさん、回答ありがとうございます。 read para < /tmp/test.txt で、出来ました!ありがとうございます。 何も訳が解らずにサンプルコードをそのまま書いていたんです・・。 a-kumaさんの補足、とてもわかりやすく、参考になりました。 他にもつまづいている箇所がありますので、 またあらためて質問させていただくと思いますが その時はまた宜しくお願いいたします。 ありがとうございました。