我正在编写一个培训工具,它用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
。