使bash脚本切换到交互模式并发出提示

时间:2014-01-20 12:23:16

标签: bash

我正在编写一个培训工具,它是用bash编写的,用于教bash / unix。

我希望运行一个脚本来设置,然后将控制权交给用户。 我想通过输入./script-name

轻松运行它

我该怎么做?

  • 用户类型:tutorial/run
  • 运行教程脚本设置了一些东西。
  • 向用户显示任务。 (这一点有效)
  • 返回命令提示符,shell仍然配置。

目前,如果我输入. tutorial/bashrc

,它将会有效

2 个答案:

答案 0 :(得分:5)

有几种选择:

  • 您使用source.;
  • 在同一个shell中启动脚本
  • 您启动一个新的shell,但将脚本作为初始化脚本:

第一个显而易见;我写了一些关于第二个的更多细节。

为此,您使用--init-file选项:

bash --init-file my-init-script

您甚至可以在shebang行中使用此选项:

#!/bin/bash --init-file

然后你一如既往地开始编写脚本:

./script-name

示例:

$ cat ./script-name
#!/bin/bash --init-file
echo Setting session up
PS1='.\$ '
A=10
$ ./script-name
Setting session up
.$ echo $A
10
.$ exit
$ echo $A

$

正如您所看到的,脚本为用户创建了环境,然后给了他提示。

答案 1 :(得分:0)

尝试在〜/ .bashrc文件中将其设为别名。将此添加到〜/ .bashrc的底部:

alias tutorial='. tutorial/bashrc'

然后关闭并重新打开终端,或键入. ~/.bashrc重新获得终端。

要使用此别名,只需调用tutorial,它将自动被其别名替换,就像您曾经调用过. tutorial/bashrc一样。