0

在每次执行某个任务之前,我需要在我的 shell 中设置一些变量并格式化 shell 提示符。我还需要记录我的行为。

目前,我正在运行一个脚本,收集它需要的所有信息(部分通过用户输入),并设置新的 shell 提示符和变量。然后我开始录制script $var-actionlog-$anothervar-1.log。使用的变量是在调用my_script.sh. 然后,由于脚本命令产生了一个新的 shell,我需要source my_script.sh再次调用。

有没有办法可以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

如果您想$PS1在您的 , 中设置不同的 shell 提示符 ( )my_script.sh以供打字稿使用,请确保您没有$PS1~/.bashrc. 打字稿 ,每次都会script $var-actionlog-$anothervar-1.log调用,并将覆盖您的提示变量. 要仅为登录 shell 设置提示,请将其设置为. ~/.bashrc$PS1~/.bash_login

于 2013-01-28T10:58:50.053 回答