Bashスクリプト用のサブシェル[閉じる]

Bashスクリプト用のサブシェル[閉じる]

サブシェルコマンドはbashスクリプト内で自動的に実行する必要があります。

自動的に実行され、次にbashでサブシェルを実行しますが、人間の対話が必要なので、bashスクリプトで自動化したいと思います。

私の主要なBashスクリプトコマンドのリスト:

#!/bin/sh
#
****some-commands****
askbot-setup;

サブシェルの実行

Deploying Askbot - Django Q&A forum application
Problems installing? -> please email [email protected]

To CANCEL - hit Ctr-C at any time

Enter directory path (absolute or relative) to deploy
askbot. To choose current directory - enter "."
> .

Please select database engine:
1 - for postgresql, 2 - for sqlite, 3 - for mysql, 4 - oracle
type 1/2/3/4: 3

Please enter database name (required)
> askbotdb

Please enter database user (required)
> askbotuser

Please enter database password (required)
> askbotpasswords

Copying files:
* __init__.py
* manage.py
* urls.py
* django.wsgi
Creating settings file
settings file created

myshellスクリプトで特定のコマンドの実行を自動化して、人との対話なしで実行できるようにしたいと思います。

.
3
askbotdb
askbotuser
askbotpasswords

askbot-setupそれでは、Bashスクリプトコマンドの後に私のサブシェルのコマンドは何ですか?

ベストアンサー1

まず、Askbotドキュメントを見て、Askbot-setupがコマンドラインまたはレスポンスファイル形式でレスポンスを取得できることを確認しました。

他のすべての方法が失敗した場合は、autoexpect(1)を使用してAskbot-setupとの手動相互作用をシミュレートするExpect(1)スクリプトを作成できます。

用語の混乱を避けるために、「サブシェル」は通常括弧で囲まれているため、別々のプロセス空間で実行されるシェルスクリプト内の一連のコマンドを表します。ここで言及したソフトウェアの種類は、インタラクティブなインストールスクリプトで最もよく説明されています。

おすすめ記事