2022-09-28 · 百度认证:北京惠企网络技术有限公司官方账号
命令行的shell直接输入你要输入的东西就行。
Shell 循环
启动 shell 时,它会立刻展示命令提示符并等待输入。在接收到命令并执行完毕(细节会在后面讲到)后,shell 会再次回到等待循环,准备接收下一条命令。
在 shell.py 中,我们通过主函数调用 shell_loop() 函数,来启动循环。代码如下:
然后在 shell_loop() 函数中,使用 status 标志来表示循环是否应该继续。在循环开始时,shell 将立即显示命令提示符,并等待输入。
扩展资料
用户在 shell 中键入命令并按下回车时,输入的命令是一条长长的字符串,其中包含了命令名以及参数。因此,我们必须将其切分(将字符串拆分成多个 token)。
字符串切分乍一看很简单。我们可能会使用 cmd.split() 根据空格来分割输入的命令。对于形如 ls -a my_folder 的命令是奏效的,因为 cmd.split() 会将其拆分为一个列表 — ['ls', '-a', 'my_folder’],这样我们使用起来就比较容易了。
但是,某些情况下,某些参数会带有单引号或者双引号,比如 echo "Hello World” 或者 echo 'Hello World’。如果我们使用 cmd.split(), 将会得到一个包含三个 token 的列表 — ['echo', '"Hello', 'World”’],而不是包含两个 token 的列表 — ['echo', 'Hello World’]。