标签: command-line

如何通过Java文件运行adb命令?

我编写了以下代码,无法弄清楚如何解决错误.不确定这些信息是否有用,但我使用的是Mac并使用编辑器IntelliJ.

public class TestCode {
    public static void main(String[] args) throws Exception {
        Runtime runtime = Runtime.getRuntime();
        Process process = runtime.exec("adb devices");
    }
}
Run Code Online (Sandbox Code Playgroud)

结果是"线程中的异常"主"java.io.IOException:无法运行程序"adb":error = 2,没有这样的文件或目录"

但是,当我从终端运行命令"adb devicees"时,我得到了连接到我的计算机的设备列表.

对于那些感兴趣的人,以下是完整的堆栈跟踪.

Exception in thread "main" java.io.IOException: Cannot run program "adb": error=2, No such file or directory
    at java.lang.ProcessBuilder.processException(ProcessBuilder.java:478)
    at java.lang.ProcessBuilder.start(ProcessBuilder.java:457)
    at java.lang.Runtime.exec(Runtime.java:593)
    at java.lang.Runtime.exec(Runtime.java:431)
    at java.lang.Runtime.exec(Runtime.java:328)
    at com.sonos.acr.test.TestCode.main(TestCode.java:6)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:597)
    at com.intellij.rt.execution.application.AppMain.main(AppMain.java:120)
Caused by: java.io.IOException: error=2, No such file or directory
    at java.lang.UNIXProcess.forkAndExec(Native Method) …
Run Code Online (Sandbox Code Playgroud)

java terminal command-line adb

1
推荐指数
1
解决办法
8445
查看次数

为什么我的Java类在编译时会创建多个.class文件?

我正在使用Mac 上的Sublime Text创建一个简单的文本编辑器程序,当我通过命令行编译时,它会生成6个.class文件.

我在终端中使用以下命令来编译我的类.

javac Notepad.java

控制台日志如下图所示......

控制台日志

有谁知道它为什么会产生多个.class文件?奇怪的是我可以删除它们然后使用java Notepad它仍然可以完美运行...为什么Java甚至会创建它们?我确定我做的事情很愚蠢.

这里是我的git存储库,而不是发布完整的代码.

java compiler-construction command-line class

1
推荐指数
1
解决办法
2128
查看次数

在linux中使用批处理文件启动多个firefox配置文件

可以启动不同的firefox配置文件 firefox -P <profile-name> -no-remote

但是,当我想同时在linux中使用批处理文件启动多个配置文件时,只有第一个配置文件启动,后续配置文件才会在上一个配置文件退出之前启动.

目前我没有成功使用这个批处理脚本:

#! /bin/bash

firefox -P "profile 1" -no-remote
firefox -P "profile 2" -no-remote
firefox -P "profile 3" -no-remote
Run Code Online (Sandbox Code Playgroud)

基本上,profile 1开始很好,但profile 2直到我先退出firefox才开始; 在退出前一个命令之前,下一个命令不会执行.

在Windows中,我已成功设法使用此bat文件同时启动多个firefox:

start "" "C:\Program Files (x86)\Mozilla Firefox\firefox.exe" -P "profile 1" 
start "" "C:\Program Files (x86)\Mozilla Firefox\firefox.exe" -P "profile 2" 
start "" "C:\Program Files (x86)\Mozilla Firefox\firefox.exe" -P "profile 3"  
Run Code Online (Sandbox Code Playgroud)

start帮助后的引号完成此操作,之后没有引号start,配置文件并非都在同一时间启动,但在linux中我不知道如何完成此操作?

linux bash firefox command-line

1
推荐指数
1
解决办法
1626
查看次数

Robocopy命令行-带空格的文件

我正在尝试运行以下命令:

robocopy.exe \\eisdevl.nas.gatech.edu\coldfusion\devl\cfapps\cfeis\mybeap \\eisdevl.nas.gatech.edu\coldfusion\test\cfapps\cfeis\mybeap "ADMIN_HEADER.CFM" "new folder\NEW TEXT 3.TXT" /mir /log:\\eisdevl.nas.gatech.edu\coldfusion\devl\cfapps\cfei\mysync2\logs\rc_09032013_lrobinson33_1.txt /NDL /r:2 /w:2
Run Code Online (Sandbox Code Playgroud)

由此我得到:

开始时间:2013年9月4日星期三09:32:22

来源-\ eisdevl.nas.gatech.edu \ coldfusion \ devl \ cfapps \ cfeis \ mybeap \目的地-\ eisdevl.nas.gatech.edu \ coldfusion \ test \ cfapps \ cfeis \ mybeap \

Files : ADMIN_HEADER.CFM
Run Code Online (Sandbox Code Playgroud)

选项:/ COPY:DAT / R:1000000 / W:30


错误:无效的参数#4:“新文件夹\ NEW TEXT 3.TXT”

谁能给我正确的语法来处理文件夹和文件名中的空格?

command-line spaces robocopy

1
推荐指数
1
解决办法
2万
查看次数

无法在命令行中运行android命令

我通过此命令设置了指向Android SDK工具的路径:

# Cordova command line tools for Android SDK ----------------------
export PATH=${PATH}:/Development/adt-bundle/sdk/platform-tools:/Development/adt-bundle/sdk/tools
Run Code Online (Sandbox Code Playgroud)

当我回应$ PATH时,这就是我得到的:

/Users/lorenzoignacio/.rvm/gems/ruby-2.0.0-p0/bin:/Users/lorenzoignacio/.rvm/gems/ruby-2.0.0-p0@global/bin:/Users/lorenzoignacio/.rvm/rubies/ruby-2.0.0-p0/bin:/Users/lorenzoignacio/.rvm/bin:/usr/local/bin:/usr/local/heroku/bin:/usr/local/share/npm/bin:/Users/lorenzoignacio/.local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/X11/bin:/usr/local/git/bin:/usr/local/go/bin:/Development/adt-bundle/sdk/platform-tools:/Development/adt-bundle/sdk/tools
Run Code Online (Sandbox Code Playgroud)

如果你看一下它的结尾,你会看到我的路径:

/Development/adt-bundle/sdk/platform-tools:/Development/adt-bundle/sdk/tools
Run Code Online (Sandbox Code Playgroud)

然而,当我尝试运行时, cordova platform add android 我得到:

[Error: The command `android` failed. Make sure you have the latest Android SDK installed, and the `android` command (inside the tools/ folder) added to your path. Output: /bin/sh: android: command not found]
Run Code Online (Sandbox Code Playgroud)

整个adt-bundle位于我的root用户目录中的一个名为的目录中Development.确切的路径是/Users/me/Development/adt-bundle/

我错过了什么?

command-line android cordova

1
推荐指数
1
解决办法
6096
查看次数

Python脚本没有通过命令行运行

我很困惑为什么命令行在Python GUI可以运行时无法运行某个脚本.我想要运行的是:

import random
print random.random()
Run Code Online (Sandbox Code Playgroud)

哪个在Python GUI中运行良好但在保存为文件(random.py)并通过命令行运行时

C:\Users\Name>python c:\Python\random.py
Run Code Online (Sandbox Code Playgroud)

它会产生这个错误:

TypeError: 'module' object is not callable
Run Code Online (Sandbox Code Playgroud)

有没有人有这个问题或知道它为什么会发生?

谢谢你的时间!

python random user-interface command-line python-2.7

1
推荐指数
1
解决办法
249
查看次数

如何将json或class对象传递给命令行php脚本

我有

$client = new Google_Client();
Run Code Online (Sandbox Code Playgroud)

它是json中的令牌。

现在,我想通过shell_exec()将此客户端对象以及json令牌传递给另一个脚本。
让我们假设命令为

php myscript.php var1 var2 $client $token
Run Code Online (Sandbox Code Playgroud)

现在,因为命令行将所有参数作为字符串,所以我无法传递json和client对象。对JSON我发现serialize()unserialize()功能,我可以通过命令提示符,但什么$client对象如何通过它来命令提示符?请帮忙。

php oop bash shell command-line

1
推荐指数
1
解决办法
7048
查看次数

在Linux(Ubuntu)中将命令行输出打印到文本文件中

我在Linux(Ubuntu)中有一个C ++程序,可以在命令终端中打印很长的输出。

如何通过Linux命令将此输出从命令终端直接复制到.txt文件?

c++ linux command-line

1
推荐指数
1
解决办法
4141
查看次数

需要帮助创建Linux脚本

我有以下内容:

...
#define DIRT 4
#define PLANKS 5
#define WOOD_PLANKSs 5
#define BRICKS 6
...
Run Code Online (Sandbox Code Playgroud)

我需要删除其中一行与其前面的行相同的行(例如,删除木板,因为木制图具有相同的编号,5).

有没有一种方法可以在linux(或Windows)脚本中执行此操作,也许使用if then语句?

linux command-line replace if-statement

1
推荐指数
1
解决办法
59
查看次数

LINE的含义:在Perl中

我正在看这个Perl单行

perl -n -e 'print "$. - $_"' file
Run Code Online (Sandbox Code Playgroud)

它说这一个班轮转换成这个:

LINE:
  while (<>) {
    print "$. - $_"
  }
Run Code Online (Sandbox Code Playgroud)

哪个好,我不知道是什么LINE:.它看起来不像文件句柄,如果它是一个变量,它就没有$sign它的前面.

我的猜测是它是这样的@F:一个习惯用于Perl一个衬里​​.是LINE只是一些Perl的在单行使用命令行?

perl command-line

1
推荐指数
1
解决办法
87
查看次数