将BASH脚本切换到交互式模式并提示



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

我希望脚本运行以设置内容,然后将控制权交给用户。我希望通过键入./script-name

轻松运行它

我该怎么做?

即。

  • 用户类型:tutorial/run
  • 运行教程脚本设置了事情。
  • 向用户呈现一个任务。(这个位有效)
  • 返回命令提示

当前,如果我键入. tutorial/bashrc

,它将起作用。

有几个选项:

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

第一个很明显;我写了有关第二个的更多细节。

为此,您使用--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
$

您可以看到,脚本为用户制造了环境,然后给了他提示。

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

alias tutorial='. tutorial/bashrc'

然后关闭并重新打开您的终端,或键入. ~/.bashrc重新扣除它。

要使用此别名,只需调用tutorial,然后自动被其别名替换,就好像您已经打电话给. tutorial/bashrc

相关内容

  • 没有找到相关文章