![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?8acaa2e)
いつもありがとうございます。
今回、Z Shell(?)にて下記の内容で作成したいと思っております。
自身触ったこともない環境なのですが、アドバイスをお願いできないでしょうか。
■環境
・MAC OSX
USBにてスクリプトを持ち運び、実行する端末での入力情報を取得
■仕様
(1)当スクリプトを実行すると、GUI入力画面を表示。
∟ユーザ名を入力するテキストボックス
∟端末番号を入力するテイストボックス
(2)実行ボタンを押下時、「完了」とメッセージを表示。
上記入力値と「ホスト名」・「IPアドレス」・「MACアドレス」・「インストールされているプログラム一覧」を同ディレクトリにCSVに出力。(get.csv)
(3)次の端末で実行する場合、get.csvに追記していく
上記のようなスクリプトを作成したいのですが、当スクリプトは触ったことがなく、見当もついていません。
教えて教えてで申し訳ございませんが、どのようなく記述になるか教えて頂けませんでしょうか。
見当違いのお願いをしているかもしれませんが、ご確認宜しくお願い致します。
No.4ベストアンサー
- 回答日時:
たとえば
//get.sh ここから
#!/bin/sh
out="get.txt"
hostname >> $out ;
ifconfig | grep inet >> $out;
ifconfig | grep ether >> $out;
pkg_info >> $out;
// ここまで
みたいなかんじのget.shをつくって
chmod 755 get.sh
で実行属性をつけておき
./get.sh
で実行する。
ちなみに、いわゆるカンマ区切りのcsvにするのは難しいですよ
なにせ、ホストごとにIPアドレスがやMACアドレスは複数存在する可能性があり
インストールされているプログラムなんてそれこそ大量にあるのだから
No.3
- 回答日時:
No.2です。
リダイレクトという言葉をどのような意味に使われているの分かりませんが、
http://ja.wikipedia.org/wiki/リダイレクト_(CLI)
や
http://rat.cis.k.hosei.ac.jp/article/linux/bash_ …
を参考にしてください。
さて、No.1で書かれているようにhostnameやifconfigで出力される情報を加工して、必要な形式で出力すれば良いわけです。
多分カレントディレクトリにファイルが置かれるのが普通だと思いますので、そのまま追記すればよいと思います。
加工は、達人の方はsedなどでやるのでしょうが、私自身sedはよく分からんので私なら全体をRubyで書いてしまいますが。
RubyやPythonを使うのならCSVではなくYAMLで出力してしまった方が簡単です。表ソフトに持ち込むのならタブ区切りの方が簡単だと思いますが。
いろいろな情報を教えて頂いて助かりました!
ありがとうございます。
少しでも運用として使えるよう参考にしてやってみます
ありがとうございました!
No.2
- 回答日時:
>(1)当スクリプトを実行すると、GUI入力画面を表示。
この段階でshellだけでは無理で何らかのGUIを操作できるプログラムを呼び出す必要があります。
Xcodeを使ってObjective-Cで作るのが正攻法ですが、AppleScriptやRubyも使えます。10.6以上で64bits機を対象にするのならMacRubyで作るのも手だと思います。(以上XcodeでGUIを作成する場合)
もう一つの方法として、Platypus(これ自体はScriptで簡単なアプリケーションが作れる)で紹介されている
http://sveinbjorn.org/files/manpages/PlatypusDoc …
cocoaDialogを使うということもできるようです。(実はまだ使ったことはない)
http://mstratman.github.com/cocoadialog/
こちらの方が簡単なように思います。
他にも、AppleScriptなどから呼ぶことができるGUIもあったように思います。
2),3)は1)ができれば問題ないでしょう。
shellって結構書くのが大変で私にはよくわかりません。
RubyやPython, Perlなどのスクリプト言語の方がshellより簡単で高機能ですので、そちらで書かれることをお勧めします。
この回答への補足
ご回答いただき、ありがとうございます。
入力フォームは別に作成する必要あるのですね。
イメージは理解しました。
2)のコマンドのリダイレクトなのですが、”実行ファイルと同じディレクトリに挙げた情報をCSVとして作成”するシェルなど、教えていただけたりできますでしょうか。
ご無理を申し訳ありません。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(プログラミング・Web制作) bashのgrepで複数の検索、かつスクリプト内で改行する方法を教えてください。 1 2022/10/06 20:09
- ツイキャス ツイキャスでアカウントロックされたとき、IPアドレスが自動取得で変更されても、PC端末が特定される? 1 2022/10/15 15:49
- Visual Basic(VBA) 列と行の名前(重複あり)が交差するセルに、データを入力したい 2 2022/06/25 22:42
- その他(プログラミング・Web制作) Pythonで、データファイルと列名ファイルを1つのファイルにしたいです。 1 2023/07/27 20:29
- その他(開発・運用・管理) Windowsバッチファイルでリモートデスクトップを自動ログインするが確認画面が出る対処方法 1 2022/12/19 15:48
- Excel(エクセル) Excelシフト表 固定シフトの自動変換化 1 2022/04/14 16:10
- PHP 記述のおかしいところを教えて下さい。 1 2023/02/03 11:25
- Illustrator(イラストレーター) イラストレーターが買えない 1 2022/08/25 13:23
- JavaScript ラジオボタンによるフォームの開閉を行いたい 3 2022/03/31 21:30
- Excel(エクセル) 【困っています】VBA 追加処理の記述を教えてください。 1 2022/08/25 22:54
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
バッチファイル内置換
-
コマンド実行結果のファイル出力
-
USBメモリ内のバッチで書き出す...
-
【Mac/Xcode】カレントディレク...
-
レンタルサーバーでアクセスが...
-
batファイルのエラー
-
バッチスクリプト処理でエラー...
-
Basp21を使用してメール送信が...
-
Macの手書き漢字入力ツールにつ...
-
バッチファイルでのスペースの入力
-
Xserverを停止したいが、gdmが...
-
aptでインストールしたプログラ...
-
コマンドプロンプトの危険性を...
-
illustratorを日本語仕様にする...
-
VBでExcelが起動されているか知...
-
CSHが使えない REDHAT
-
linuxのフォルダと配置について
-
cygwinでno such file or direc...
-
コンパイルの途中で、以下のよ...
-
バッチファイルで多重起動を防ぐ
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
バッチファイル内置換
-
exeファイルの実行結果をテキス...
-
コマンド実行結果のファイル出力
-
USBメモリ内のバッチで書き出す...
-
batファイル 行った履歴をテキ...
-
batが動かない
-
【Mac/Xcode】カレントディレク...
-
メーリングリスト宛てのメール...
-
ftpのgetが正常できる方法について
-
PowerShellで自分が書いたコマ...
-
C言語コンパイラ・デバッガをご...
-
デバッグ停止中 一つ戻る
-
ldapユーザ登録について
-
Win7でコンピュータ名変更を自動で
-
cron で rsync が実行できない
-
プログラムでTAを制御するコマ...
-
VBSでのファイル読込、出力操作...
-
linuxのsshの反応が非常に遅い。
-
pythonで業務効率
-
リモートコンピュータの再起動...
おすすめ情報