0

毎回特定のタスクを実行する前に、シェルにいくつかの変数を設定し、シェル プロンプトをフォーマットする必要があります。また、自分の行動を記録する必要があります。

現在、スクリプトを実行して、必要なすべての情報を (一部はユーザー入力によって) 収集し、新しいシェル プロンプトと変数を設定しています。で録音を開始しscript $var-actionlog-$anothervar-1.logます。使用される変数は、 の呼び出し中に設定されますmy_script.sh。次に、スクリプト コマンドによって新しいシェルが生成されたので、source my_script.shもう一度呼び出す必要があります。

すべてを 2 回入力する必要がないように、 script-part を直接含める方法はありますか?my_script.sh

4

1 に答える 1

1

export初期設定スクリプトで使用して、ローカル変数をグローバルにすることができます。たとえば、セットアップ スクリプトは次のmy_script.shようになります。

#!/bin/sh
# A startup script

export var="world"
export PS1="\u@\h \w> "

echo "Please enter a number, followed by [ENTER]:"
read num

export anothervar="$num"

script $var-actionlog-$anothervar-1.log

次に、スクリプトが開始されたら、実行できることを確認します。

echo var=$var, anothervar=$anothervar

typescript で使用する別のシェル プロンプト ( $PS1) を に設定する場合は、 に設定しmy_script.shていないことを確認してください。タイプスクリプトは毎回呼び出され、プロンプト変数 をオーバーライドします。ログイン シェルのみのプロンプトを設定するには、これを で設定します。 $PS1~/.bashrcscript $var-actionlog-$anothervar-1.log~/.bashrc$PS1~/.bash_login

于 2013-01-28T10:58:50.053 に答える