![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?e8efa67)
自分でも色々調べたのですが、手に負えなかったので質問させていただきます。何度も質問する形になって申し訳ないです。
今取り組んでいる課題の1つに、プログラム実行時に引数として"<"と"ABC"(ABCはファイル名)を指定するとABCに書かれたスクリプトを実行する。というものがあります。
myprogram < scriptfile(←のような感じです)
それで、第1引数が"<"なら第2引数のファイルを実行する。というようにしようと思ったのですが、Argv[1]に"<"が格納されません。
引数に"<"を指定すると別の処理をするらしいことは調べたのでわかったのですが、どうにか"<"を格納できないでしょうか?(つまりは、引数が"<"の時とそうでない時で分岐できるようにしたいのです)
あと、スクリプトのファイル名もArgv[2]に格納できないんですが、第2引数に指定された文字列はどこへ行ってしまったんでしょうか?
何度もすいませんがよろしくお願いいたします。
No.5ベストアンサー
- 回答日時:
課題以前にそれまでの演習資料を全部読み直した方が良いと思いますよ。
「プログラム実行時に引数として"<"と"ABC"(ABCはファイル名)を指定するとABCに書かれたスクリプトを実行する」
というのは「第1引数が"<"なら第2引数のファイルを実行する。」という意味の課題ではないと思いますが。
学校の課題のようなのであえてヒントだけにしておきます。
解答していただいた皆さんありがとうございました。
myprogram < scriptfile
このように、プログラムを実行するとscriptfileにかかれたスクリプトを実行するようなプログラムを作成するのでしたが、「第1引数が"<"なら第2引数のファイルを実行する。」ようなプログラムの作成だと思い込んでいました。
勘違いをしたまま質問してしまって申し訳ないです。
No.4
- 回答日時:
問題文を載せろはいいませんけど、
> myprogram < scriptfile
> この形(インターフェイス?)は変えてはいけないのです。。
myprogram < scriptfile
とシェルのコマンドラインから入力させといて、
なおかつ myprogramのなかから リダイレクト記号とか
リダイレクト元のファイル名を取得しろというのは
無茶な話です。
問題文を誤解しているとかはないですか?
あるいは#3でjactaさんが質問していますが
よっぽど特殊な環境だったりするとか。
No.1
- 回答日時:
> myprogram < scriptfile(←のような感じです)
こう書くと、'<' なんかはシェルが先に喰ってしまいますので
myprogram にはわたりません。
環境がWindowsかUnix系か等でちょっと違いが出ますが、
myprogram "<" scriptfile
とすれば、
argv[0] → "myprogram"
argv[1] → "<"
argv[2] → "scriptfile"
になります。
>第2引数に指定された文字列はどこへ行ってしまったんでしょうか?
'<' に対応する入力としてシェルが喰ってしまってます。
myprogramの標準入力から読み込みをすれば
scriptfileの内容がでてきますよ。
この回答への補足
早速のご解答ありがとうございます。
myprogram < scriptfile
この形(インターフェイス?)は変えてはいけないのです。。
説明不足で申し訳ないです。。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(プログラミング・Web制作) Linuxについて質問です。 引数に指定されたアクセスログのファイルからアクセス数が多い順に上位3つ 1 2023/02/03 03:46
- その他(開発・運用・管理) 【至急】.htaccessによるディレクトリ単位でのリダイレクト 2 2023/08/10 13:46
- C言語・C++・C# c言語の問題です 2 2023/07/21 10:51
- その他(プログラミング・Web制作) どういうプログラムで組みますか?google colabでやってるんですけど、出来る方お願いします。 1 2022/07/17 18:41
- UNIX・Linux Linuxについて2つ質問したいです。 ① シェルスクリプト名をawk1.shとして、指定されたデー 1 2023/02/03 03:49
- Visual Basic(VBA) ファイル全てを .xlsm に変更したところ、プログラムが途中で落ちてしまっています 17 2022/12/07 12:03
- その他(プログラミング・Web制作) どういうプログラムで組みますか?google colabでやってるんですけど、出来る方お願いします。 1 2022/07/06 09:28
- Visual Basic(VBA) batにて、異なるフォルダの同名ファイルを参照し、文字列を判別。擬似配列で変数へ格納 3 2022/04/10 03:37
- 財務・会計・経理 社内精算口座に対する手数料発生について 1 2023/02/26 02:36
- その他(プログラミング・Web制作) linuxについて質問です 1 2023/02/06 19:55
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
コマンドプロンプトのエラーに...
-
VBscriptが起動しない?
-
複数のbatファイルを自動実行し...
-
バッチファイルで以下のような...
-
これってパソコンの最適化が完...
-
exeファイルを実行するとコマン...
-
ネットワーク名が見つかりません
-
エクセル フォルダの画像を画...
-
VBA 既に開いているBookに継続...
-
Accessの最適化について DBengi...
-
「読み取りと実行」と「読み取...
-
[teraterm] waitコマンドで停止...
-
バッチファイルが不正終了して...
-
Accessからバッチ処理を実施し...
-
PDFファイルを開き、印刷し、閉...
-
VBScriptでSQLファイルの実行
-
WSH.Run の処理内容をテキスト...
-
三菱ラダーについて教えて下さい。
-
OCXが読み込めない
-
NASに移したBATファイルからセ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
コマンドプロンプトのエラーに...
-
exeファイルを実行するとコマン...
-
VBscriptが起動しない?
-
「読み取りと実行」と「読み取...
-
[teraterm] waitコマンドで停止...
-
バッチファイルで以下のような...
-
バッチファイルの内容を表示さ...
-
PDFファイルを開き、印刷し、閉...
-
エクセル フォルダの画像を画...
-
これってパソコンの最適化が完...
-
バッチファイルが不正終了して...
-
ネットワーク名が見つかりません
-
シェルで5分前の時間を取得したい
-
pythonスクリプトを管理者権限...
-
Excel(エクセル) VBA プロシー...
-
複数のbatファイルを自動実行し...
-
Excel VBA ステップインが途中...
-
メッセージを他のPCに出したい
-
16進数の変換処理
-
VB.NETでのDOSコマンドを実行に...
おすすめ情報