Skip to content

JDK JSHELL 学习-2-end

  1. jshell 中的命令
    如果在过程中有问题可以随时使用/help进行查询

    1. /vars 列出所有的变量
    2. /methods 列出所有的方法
    3. /list 列出执行历史
    4. /list -start 列出所有的引用
    5. /list -all 列出引用及执行历史
    6. /exit 退出jhsell
    7. /save 保存到文件
    8. /open 打开文件
    9. /help 帮助
  2. jshell编辑
    1. 在jshell 中可以使用上下键进行历史指令的重现
    2. 搜索,在jshell 中按下Ctrl+R 会出现:
              ((reverse-i-search)`':
      

      输入你想所有的代码,则可以获取到相关内容

    3. Ctrl+A 跳转到行头
    4. Ctrl+E 跳转到行尾
    5. Meta+B 光标回退一个位置【Meta 在mac 下是Ctrl】
    6. Meta+F 光标前进一个位置
    7. Ctrl+K 删除光标后的字符
    8. Ctrl+W 删除光标前的单词,如果前面前面存在空格则到空格则停止
    9. Ctrl+Y 粘贴最近删除的内容
    10. Ctrl+S 正向搜索
    11. Ctrl+X ( 开始定义宏
    12. Ctrl+X ) 结束宏定义
    13. Ctrl+X e 执行宏
  3. 外部编辑
    很多时候,纯shell编辑肯定是很难完成复杂的逻辑的,这个时候就需要使用外部编辑器。
    /edit xxx xxx代表你之前定义的方法、类。
    也可以使用/set edit vim 来切换编辑器
  4. 外部编码
    1. Class Path
      在使用jshell的时候可能你需要使用一些已有的依赖,这个时候可以设置Class Path 比如:

        jshell --class-path myOwnClassPath
        jshell> import my.cool.code.*
      

      进入shell 后就可以使用import 来引入你需要的包
      当然你可以使用命令在jshell中设置环境变量

      /env --class-path myOwnClassPath
      
    2. Module
      JDK 9 中支持的模块能力也被jshell所支持。
      同理可以在shell启动时引入:

        jshell --module-path myOwnModulePath  --add-modules my.module
      

      使用/env 也能设置:

         jshell> /env
         |     --add-modules my.module
         |     --module-path myOwnModulePath
         |     --class-path myOwnClassPath
      

      如果需要了解更多的信息只想如下的命令:

        jshell> /help context
      
  5. 反馈模式
    1. 设置提示模式
       jshell> /set prompt normal
      
    2. 设置持久化
      默认情况下如果重新进入jshell 之前的设置会恢复,也可以通过/reset 进行重置。
      如果想要持久化设置,就需要使用-retain 参数 进行持久化。这样设置在重启之后也是有效的。
    3. 设置截断
      在jshell中,一行的长度默认是80,当然也是可以设置的。
      相关的命令为:

       jshell> /set truncation mine
      
    4. 设置格式
      在jshell 中你可以定制反馈的格式。相关详细的设置方式请参考帮助文档:

       jshell> /help set format
      
  6. 脚本
    这里的脚本指 jshell 中的一些jshell的序列片段和一些jshell的指令。
    jshell 预定义有三种,分别为: DEFAULT、PRINTING、JAVASE.

    1. 启动脚本,进入shell 的时候执行 相关的命令为:
       jshell> /set start mystartup.jsh
       jshell> /reset
       |  Resetting state.
      

      也可以通过在进入jshell 的时候添加参数,--startup 指定:

      % jshell --startup mystartup.jsh
      

      当需要同时设置多个,命令如下:

      jshell --startup DEFAULT --startup PRINTING
      
    2. 创建一个被加载执行的脚本
      你也可以把写的jshell脚本存入文件,通过jshell demo.jsh来执行。
发表评论

电子邮件地址不会被公开。 必填项已用*标注