シェルスクリプトにおける、対話型(adduser、passwd)の処理を自動化したいと考えております。
expectを使用すれば簡単なのですが、新たにインストールしないといけないパッケージが数個あるため、避けたいと考えております。
そこで質問です。
expectを使用しなくても、対話型の処理を自動化できる方法はありますでしょうか。違う言い方をすれば自動化するプログラムを作成できるのかということになります。
ちなみにヒアドキュメントを使用しましたが下記のようになってしまい、うまくいきません。
いろいろと助言していただけると光栄です。
プログラム-----
!/bin/sh
user_name1="oshietegoo"
user_pass1="kaiketsu"
adduser $user_name1 << E
$user_pass1
$user_pass1
E
---------------
結果-----------
Changing password for oshietegoo
New password:
Retype password:
passwd: password for oshietegoo is unchanged
---------------
よろしくお願い致します。
A 回答 (1件)
- 最新から表示
- 回答順に表示
No.1
- 回答日時:
入力を標準入力からでなく、端末から読むプログラムはシェルスクリプトで直接は扱えません。
プログラムから操作するためには「疑似端末インタフェース」(man pty参照) を使います。シェルスクリプトからptyを使いやすくするためのコマンドがexpectです。ptyでググってみると、Rubyがptyライブラリを持っているようですけど、expectもインストールしたくないならきっとRubyもだめですよね。あとは、自分でCで書くことはもちろん出来ます。どう書けばいいかはman pty以上のことは知らないのでアドバイスできません。
返答が遅くなり申し訳ございません。
adduserのCソース側に問題があり、ヒアドキュメントではエラーになる条件でした。
ヒアドキュメントの文字列が正常終了するコマンドを探しだし、実行したところうまくいきました。
ありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- PHP php ログイン 1 2022/11/01 00:24
- その他(開発・運用・管理) Windowsバッチファイルでリモートデスクトップを自動ログインするが確認画面が出る対処方法 1 2022/12/19 15:48
- MySQL 参考書に従って入力したつもりでしたが、最後はエラーがでました。 1 2022/09/28 03:45
- Visual Basic(VBA) VBAでシートの保護をかける際に「書式設定の変更」を有効にする 1 2023/04/17 18:18
- MySQL データベースの複製の仕方(mysql) 2 2023/05/30 18:24
- PHP 重複を防ぐ記述について教えて下さい。 3 2023/04/03 14:35
- Excel(エクセル) 2つのVBAを一緒にしたら機能しなくなりました(エクセル) 7 2022/06/02 12:41
- PHP MySql PHP 2つのテーブルをJOINで結合 user_idで抽出 1 2023/01/03 14:04
- Windows 10 user profile service サービスによるサインインの処理に失敗しました。 1 2022/05/06 16:21
- Excel(エクセル) PHPプログラムをエクセルに張り付けると検索ボックスがでてくる! 3 2022/05/08 07:10
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
初級者の質問――time_tについて
-
Arduino nano(アルドゥイーノ ...
-
Webプログラムってネイティブア...
-
vba listviewにおけるtextのAli...
-
C言語primeについて
-
VBA
-
プログラムのコーディングって...
-
プロダクションコードとは?
-
アプリ終了時にタスクトレイか...
-
c言語のサイコロを100回振って...
-
掃き出し法の計算誤差について
-
指定したフォルダーを最前面表...
-
ソケット通信プログラムのヘッ...
-
MPLABでビルドできない・・・
-
3層の階層型ニューラルネット(...
-
openGLで物体を半透明にして表...
-
processingで雪が積もるような...
-
yahooに接続後メールにログイン...
-
数独をとくプログラム
-
世界一美しいソースコード
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
vba listviewにおけるtextのAli...
-
プロダクションコードとは?
-
指定したフォルダーを最前面表...
-
Webプログラムってネイティブア...
-
COBOLのS9タイプからXタイプへ...
-
VBコンソールアプリ(.NET Frame...
-
VBA
-
2値化した画像の黒い部分のピク...
-
初級者の質問――time_tについて
-
無限ループ中にある任意のキー...
-
Arduino nano(アルドゥイーノ ...
-
世界一美しいソースコード
-
VBAにてTIFFから画像を取込みた...
-
C言語でpingを実行してその結果...
-
三次元のグラフを書きたいので...
-
マイコンからプログラムを読み...
-
XPathの関数「text()="value"」...
-
C言語→MATLABへの変換で、困っ...
-
URLの最初の「h」を略す
-
プログラミングの問題と解答例...
おすすめ情報