首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

sbt(Scala)通过SSH导致找不到命令,但是如果我自己这样做的话会有效

问题: sbt(Scala) 通过 SSH 导致找不到命令,但是如果我自己这样做的话会有效。

答案:

这个问题涉及到一个常见的 SSH 错误,即当从远程服务器连接时,命令无法在本地 shell 中找到。这通常是由于 SSH 客户端在与服务器建立连接时使用了不正确的 shell。

要解决这个问题,请确保在连接到远程服务器时使用正确的 shell。通常情况下,使用 ssh 命令时,应该使用 /bin/bash 作为 shell。在 Scala 中,您可以使用以下命令来确保正确的 shell 被使用:

代码语言:txt
复制
import org.apache.sshd.server.session.Session

val session = Session.getDefaultInstance(System.getProperties, null)
val channel = session.openChannel("shell")
channel.connect(null)

在上面的代码中,我们使用 Session.getDefaultInstance() 方法创建一个 SSH 会话,然后使用 openChannel() 方法打开一个名为 "shell" 的通道。最后,我们使用 connect() 方法连接到该通道。

如果您使用的是其他 shell(例如 csh 或 tcsh),则需要在启动 SSH 会话时使用正确的 shell。您可以通过在 ssh 命令中添加 -t 选项来强制使用指定的 shell,例如:

代码语言:txt
复制
ssh -t user@remote_host

这将确保在连接到远程服务器时使用正确的 shell。

总之,确保在连接到远程服务器时使用正确的 shell 是解决这个问题的关键。通过使用上述方法,您可以确保在 Scala 中使用 SSH 时使用正确的 shell。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

SBT 常用开发技巧

SBT 一直以来都是 Scala 开发者不可言说的痛,最主要的原因就是官方文档维护质量较差,没有经过系统的、循序渐进式的整理,导致初学者入门门槛较高。...虽然也有其它构建工具可以选择(例如 Mill), 但是在短时间内基本上不可能撼动 SBT 的地位,毕竟它是 Scala 名正言顺的亲儿子。...当然还有另外一个原因可能导致其它构建工具永远没有机会,Scala 语言以其卓越的编译器著称,编译器支持的丰富特性需要和构建工具进行无缝对接,例如 Scala 的 Macro 需要和构建工具的增量编译密切配合...SBT 自动进行增量编译。...执行如下命令则会打印各个任务的执行时间: sbt -Dsbt.task.timings=true clean run 如果是Windows的话需要在参数两边加引号: sbt "-Dsbt.task.timings

1.8K20

如何在Ubuntu20上离线安装joern(包括sbtscala

,然后将其脚本和压缩包复制进入你的home目录下,然后运行脚本既可,这样就可以使用共享文件夹(由于机器的问题没有离线机器上的图片) 如果你导入镜像后你的离线环境下的other locations的位置会有一个新的磁盘...=/your/path/to/scala/bin:$PATH 加入完成后按ctrl+x键,再按shift+y,按回车即可 使用指令让环境变量生效 source ~/.bashrc 这样我们的sbtscala...: 我们进入联网的机器中,进入joern的安装目录: 这是编译下载之后的joern的目录,如果没有编译和打包是会有很多链接是断开的 我们进入终端,执行编译指令: sbt stage 但是由于...joern的一些依赖项需要外网,所以前提是你的网络状态是可以访问外网 这个下载周期比较长,可能需要多次尝试,另外就是内存的问题,最好是分配最大的内存,不然会被杀死很多进程导致下载依赖项失败...,所以一部分情况下你必须得自己单独将所有的jar包打包然后(用的是tar.gz的压缩包格式)传入离线环境,然后解压到joern的目录下 当然,~/.ivy2和 ~/.sbt这两个依赖项可不是放入

15510
  • Play For Scala 开发指南 - 第4章 第一个Play项目

    通过SBT命令行创建 这种方式需要你事先安装SBT,然后执行创建命令sbt new playframework/play-scala-seed.g8 命令执行成功后,在当前目录下会生成类似Starter...发布Play项目 Play项目的发布也是通过sbt命令完成的,进入命令行执行sbt dist,命令执行完成后,在target\universal目录下会生成应用文件play-scala-starter-example...如果修改了Play项目的某些配置,但是在IDEA中没有立即生效,单击右侧SBT projects窗口左上角的蓝色刷新按钮 即可。...实际上Play项目并不依赖于IDE开发环境,上文中说过,Play项目其实是SBT项目,通过SBT命令行可以完成Play项目生命周期的整个构建过程。...这是由于模板函数index是在项目编译过程中动态生成的,所以新增的模板函数在IDEA中会提示找不到,这时只要在命令行执行sbt compile,然后在SBT projects窗口单击蓝色刷新按钮,错误即消失

    2.8K40

    Scala学习系列(二)——环境安装配置

    :/usr/java/scala-2.13.1/bin 使用ScalaREPL Scala提供了REPL 交互式解释环境 在我们安装好scala 可以直接在命令行输入scala进入 三、通过Sbt安装...以后我们添加依赖也是在这里 未来我们仔细介绍 如果项目构建不成功 注意查看本机sbt scala版本是否能对应 报错idea 使用sbt构建工程时错误unresolved dependency...: org.scala-sbt#sbt;0.13.8: not found 1.出现场景:在idea中使用sbt构建工程时,使用默认的sbt版本为0.13.8,而我本地安装的sbt版本是0.13.7,所以在仓库中找不到对应的...创建项目 打开cmd命令行 cd 到一个空文件夹 运行以下命令sbt new scala/hello-world.g8。...五、Scala Java同时运行 sbtscala专属的 所以如果我们有scala和java代码同时执行的情况时 需要新建一个maven工程 pom文件写法如下: <dependencies

    3.4K20

    【腾讯云的1001种玩法】Ubuntu 14.04 Spark单机环境搭建与初步学习

    因为直接从Java官网上下载的,而官网下载之前需要确认协议,如果直接复制官网下载地址则会出现下载的是个网页的情况。...所以只能通过一个带有AuthParam序号的下载地址下载后再修改文件名了。如果有更好的方法的朋友,请联系告知。谢谢!...Spark 终端 觉得 Spark 非常亲民的一点是它提供了一个交互式的命令行终端,这样用户就可以快速地测试一些命令和语句,而无需每次都保存代码脚本然后调用执行,这对于 R 和 Python 用户来说是非常顺心的一件事...如果出现了像图中 scala> 这样的提示符,就说明 Spark 安装成功。这里的 scala 指的是 Scala 编程语言。...虽然这需要花费一些额外的时间,但好在 Scala 的语法非常直观,基本上通过例子就可以模仿写出自己的程序来。 如果Scala 语言感兴趣,可以参考这份教程来了解其基本的语法。

    4.2K10

    geotrellis使用初探

    Geotrellis主要涉及到的知识点包括Scalasbt,Spark,Akka。貌似每项都不是善茬,基本都没有怎么接触过,除了Scala稍微接触过,那么只能完全从头开始学习了。...完全找不到门路,可能是一个新的处理框架,基本没有人使用过,查不到任何有用的信息,怎么办?那只能自己摸索。 程序员第二步,自己摸索。...看了一下,geotrellis开源了一个例子(https://github.com/geotrellis/geotrellis-chatta-demo),最喜欢先跑个例子看一下,这样好像自己已经牛逼的搞定了他.../sbt run即可,来来回回折腾了好多次每次都是error error,但是不要灰心,只需要一直./sbt run。...然后想既然spark-shell行不通,那么为什么不直接把框架拿到本地测试,刚好又发现了一个demo(https://github.com/geotrellis/geotrellis-sbt-template

    1.6K80

    基于spark源码单元测试

    现在做基于spark单元测试的调试,是为了更方便对Spark源码修改及测试,方便更深入了解spark的运行原理。...基于idea 比如我们要运行core模块中 DAGSchedulerSuite.scala "SPARK-3353" 案例: 选中test,右键,可以run ;如果打了断点的话,可以debug ?...使用idea运行调试testcase简单方便,但由于一些原因,如果idea不能搞定的话,可以通过sbt来运行和调试testcase 基于SBT SBT 配置 Spark SBT build 中包含多个...在sbt命令中输入: sbt (core)> set javaOptions in Test += "-agentlib:jdwp=transport=dt_socket,server=n,suspend...编写测试用例 Spark为了确保代码风格一致规范,在项目引入了scala-style checker(比如每个代码文件头部需要定义Apache的License注释;import的顺序等),如果代码不合规范

    1.9K40

    负载,性能测试工具-Gatling

    打开文件限制 大多数操作系统都可以使用该命令更改打开文件限制。例:ulimit -n $ ulimit -n 65536 但是,这只会更改当前shell会话的限制。.../etc/pam.d/sshd 如果通过SSH访问该计算机 另外,如果访问通过SSH的机器,一定要具有在UseLogin yes``/etc/ssh/sshd_config 要进行更多调整...与OSX一样,操作系统有自己的棘手方法来发现要运行的Java版本,因此最终可能运行与您告诉您的版本不同的版本。如果您遇到奇怪的错误,并且您希望运行JDK8,则可能需要明确设置JAVA_HOME。...使用IDE 您可以使用任何Scala语法高亮的文本编辑器编辑Simulation类。但如果您是开发人员,您很可能希望将自己喜欢的IDE与Gatling一起使用。...原创不易,如果感觉不错,希望给个推荐!您的支持是写作的最大动力!

    3.6K30

    geotrellis使用(六)Scala并发(并行)编程

    安装完成之后,在IDEA中安装sbt插件,然后选择创建SBT项目,与普通Scala语言最主要的不同是创建一个build.sbt文件,这个文件主要记录的就是项目的依赖等,要添加依赖就可以添加如下两行代码...一般lib的官网中均会有写明自己的上述语句供使用者方便添加自己lib依赖。 三、并发编程      下面为大家介绍如何使用Scala进行并发编程。...引入akka只需要在build.sbt文件中添加在SBT操作一节中介绍的代码即可,但是要根据自己Scala版本以及要使用的akka版本进行修改。添加完之后IDEA自动去下载akka的actor包。...这样就可建立一个remoteActor的实例,可以通过该实例向remoteActor发送消息。     ..." 4 } 5 } 四、总结       本文为大家简单介绍了scala基础、sbt简单操作、原生actor、akka的并发以及并行方式actor,这些是在学习Geotrellis的过程中学习基础知识的一部分经验总结和梳理

    1.4K50

    Spark 开发环境搭建

    2、SSH 公钥免密登录授权 hdfs 是一个集群服务,我们可以在 NameNode 节点上操作所有的 slave 节点(DataNode),hadoop 是通过封装 ssh 远程 shell 实现的...(sbin/slaves.sh 内通过 ssh 远程起停 slave 节点上的服务)。...3.5 启动服务 $ sbin/start-dfs.sh 启动集群只需上面一行命令如果没有什么端口冲突,应该是一切顺利了。...3.7 挂接到本地文件系统 上面通过 bin/hdfs 工具的方式访问 HDFS 有两个弊端: 不如直接使用 ls, mkdir, cp 等命令操作本地文件系统方便; 每次执行都需要重新启动 Java...这里选择 sbt,原因是这三者虽然功能上难分伯仲,但 sbtscala 具备天然的亲和性,它自身是使用 scala 编写的,其工程定义文件实际也是一个 scala 程序,使用它构建 scala

    6.8K21

    sbt的依赖管理逻辑

    %%:用于 Scala 库依赖,自动添加当前项目的 Scala 版本号。...此外还可以通过检查依赖树来帮助分析和解决依赖冲突问题,但是得先添加插件, 然后再使用 sbt dependencyTree 命令来查看项目的依赖树: addSbtPlugin("net.virtual-void...例如,如果项目 A 依赖于库 B 和 C,而库 B 又依赖于库 D,则依赖关系树如下所示: A ├── B │ └── D └── C sbt 就是通过使用这种树结构来管理依赖,以确保所有的依赖关系都能正确解析并下载...Maven 通常执行全量编译,这在大型项目中会导致编译时间较长。此外,Maven 的命令行工具需要每次执行任务时重新启动 JVM,这可能导致较长的启动时间。...动态构建定义 sbt 构建文件使用 Scala 语言,可以通过使用Scala语言的强大特性编写复杂的逻辑和动态配置。

    14810

    SBT无痛入门指南 顶

    SBT 的野心很大,采用Scala编程语言本身编写配置文件,这使得它稍显另类,虽然增强了灵活性,但是对于初学者来说同时也增加了上手难度。...另外由于SBT默认从国外下载依赖,导致第一次构建非常缓慢,使用体验非常糟糕! 如果你是一名Scala初学者,本文希望帮你减轻一些第一次使用的痛苦。...如果是Windows系统,则进入CMD执行如下命令: cd C:\Users\USER_NAME mkdir .sbt cd .sbt 如果是Mac或Linux系统,则进入Bash执行如下命令:... 上通过 set 命令进行设置, set SBT_OPTS="-Dsbt.override.build.repos=true" 在 Mac/Linux 上使用 export 命令进行设置, export...=true 注意,如果由于某种原因,  repositories 文件并不在默认的  .sbt 目录下,则需要通过  -Dsbt.repository.config 指定  repositories

    5.4K40

    30分钟--Spark快速入门指南

    ,按官网教程安装 sbt 0.13.9 后,使用时可能存在网络问题,无法下载依赖包,导致 sbt 无法正常使用,需要进行一定的修改。.../sbt sbt-version Shell 命令 下载过程中可能类似 “Server access Error: java.security.ProviderException: java.security.KeyException...验证 sbt 是否可用 如果由于网络问题无法下载依赖,导致 sbt 无法正确运行的话,可以下载笔者提供的离线依赖包 sbt-0.13.9-repo.tar.gz 到本地中(依赖包的本地位置为 ~/.sbt...SimpleApp的文件结构 接着,我们就可以通过如下代码将整个应用程序打包成 JAR(首次运行同样需要下载依赖包,如果这边遇到网络问题无法成功,也请下载上述安装 sbt 提到的离线依赖包 sbt-0.13.9...-repo.tar.gz ): /usr/local/sbt/sbt package Shell 命令 打包成功的话输出如下图内容: ?

    3.6K90

    Spark历险记之编译和远程任务提交

    Spark使用Scala语言进行实现,它是一种面向对象、函数式编程语言,能够像操作本地集合对象一样轻松地操作分布式数据集(Scala 提供一个称为 Actor 的并行模型,其中Actor通过它的收件箱来发送和接收非同步信息而不是共享数据...环境介绍 序号 应用 说明 1 CDH Hadoop2.6 如果想跑在hadoop上,则需要安装 2 JDK7 底层依赖 3 Scala2.11.7 底层依赖 4 Maven3.3.3 构建编译打包...scala export PATH=$PATH:$SCALA_HOME/bin 3,下载spark,这里推荐下载spark源码,自己编译所需对应的hadoop版本,虽然spark官网也提供了二进制的包...这里用的是spark1.4.0的版本,所以只能用scala2.11.x的版本,这就需要重新编译spark了,另一个原因也需要和对应的haodop版本编译对应。...这个问题,在stackoverflow上提问了2天,都没人知道,最后各种疯狂的找资料才发现就是软件版本不一致导致的,真是大意失荆州了,解铃还须系铃人!

    2K90

    sbt 项目导入问题

    首先要明白 sbt 其实是一个 Scala 或者 Java 的一个构建工具,使用上的目的和方式其实跟 Maven 是大相径庭的,如果你是 Maven 的老司机,要解决 sbt 的问题,应该不难。...options -Dsbt.log.format=true # 这是自己添加的 -Dsbt.repository.config=/usr/local/sbt/conf/repositories...: http://repo.scala-sbt.org/scalasbt/sbt-plugin-releases/, [organization]/[module]/(scala_[scalaVersion...这里需要提示,当用命令行构建项目的时候,上述参数应该是这样的格式 -Dprop=value,以下是构建项目的时候,输入命令的一个例子。...注意需要留意的是 sbt-lauch.jar,如果不配置,那么用的是 IDEA 的内置的 sbt,为了更灵活的配置 sbt 的一些设置,建议还是使用自己下载安装的 sbt,并且设置 VM 参数,原理等同于上节说的命令行模式的参数

    2.4K40

    Scala学习路线

    此时如果看>这本书,基本上很难看得下去。 当我们决定把这些都学会的时候,惊讶的发现,难度变成了这样: ?...Java中能做到的事,Scala都能做并且的更好 通过各种资料介绍,我们感觉scala比Java要强大的多,有时候认为,只要Java中能做到的事,在Scala中都能做并且的更好。...如果以表达能力看,它比动态语言要弱要难看。可以通过查看sbt和gradle的构建文件来获取直观感受 对类型系统方面的能力要求高。...但是实际情况是,如果不能尽早的掌握足够的类型系统知识,在使用Scala时我们几乎寸步难行。我们在编译Scala代码时,遇到的最多错误就是各种类型不匹配,如果不熟悉的话,可能要卡几个小时都解决不了。...认为现在学习Scala的原因是:它为打开了编程世界的一扇门,让看到了与之前完全不同的世界。通过对它的学习,可以强迫自己学习更多编程知识,提高自己的能力,从而有机会跟更多牛人交流。

    2.3K50

    大数据常见错误解决方案 转

    配置错误导致,主机名一定要严格匹配,重新配置ssh免密码登录 14、经验:搭建集群时要首先配置好主机名,并重启机器让配置的主机名生效 15、INFO hdfs.DFSClient: Exception...,运行sbt命令卡在Getting org.scala-sbt sbt 0.13.6 ......compile package 84、sparkSQL的udf无法注册UDAF聚合函数 解决方法:把UDAF自定义类的object关键字改成class声明 85、经验:运行时删除hadoop数据目录导致依赖...或java文件夹并排 88、经验:spark Graph根据边集合构建图,顶点集合只是指定图中哪些顶点有效 89、ES写query用到正则匹配时,Determinizing automaton...hadoop相关包 115、linux 输入错误命令 按删除键显示^H 解决方法:执行指令 stty erase ^H 116、经验:通过hive源文件pom.xml查看适配的spark版本,只要打版本保持一致就行

    3.7K10
    领券