标签: command-line

通过使用文件重定向提供输入来运行Java程序

我正在尝试使用文件重定向运行Java程序.我正在用这个简单的程序测试它:

package netbeans.sanbdox;

public class Sanbdox {
    public static void main(String[] args) {
        for(int i = 0; i < args.length; i++) {
            System.out.println(args[i]);
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

当我进入命令行并运行时

$ java -jar dist/compiled_project.jar < q1.txt
$ 
Run Code Online (Sandbox Code Playgroud)

即使q1.txt不是空文件,也没有输出.我该怎么做才能使文件重定向工作?

java command-line

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

如何在Windows命令行中运行.py文件?

我编写了一个简单的python程序,使用IDLE从命令行运行它.我没有权限在python目录中保存.py文件(C:\ program files\python33),所以我把它保存到C:\ Pyscripts.

python也已添加到PATH中,我可以运行一个简单print ("Hello")的命令行.我已将此行保存到py文件中,现在我想从命令提示符运行它,但我遇到了不同的错误!我搜索并测试了不同的方法,但它们没有用!

有什么建议吗?

谢谢.

python command-line

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

自动将输入传递给终端?

我想输入"是"作为输入,当"是/否"自动在屏幕上提示而不是手动,这里是脚本

ansible-playbook -i hostvnc.ini vnc.yml --user=ubuntu --private-key=rampvnc.pem --extra-vars="dns=ec2-54-205-170-165.compute-1.amazonaws.com"
Run Code Online (Sandbox Code Playgroud)

我传递的dns选项实际上是动态生成的.在这个脚本执行期间,这非常迅速

PLAY [vnc] ******************************************************************** 

GATHERING FACTS *************************************************************** 
The authenticity of host 'ec2-54-205-170-165.compute-1.amazonaws.com (54.205.170.165)' can't be established.
ECDSA key fingerprint is 31:7f:a1:f0:18:73:f1:6d:b9:dc:16:25:4a:4f:40:5f.
Are you sure you want to continue connecting (yes/no)? 
Run Code Online (Sandbox Code Playgroud)

如何输入"是"作为输入?我尝试过这个选项但没有成功

ansible-playbook -i hostvnc.ini vnc.yml --user = ubuntu --private-key = rampvnc.pem --extra-vars ="dns = ec2-54-205-170-165.compute-1.amazonaws. com"| 回声"是"

linux terminal command-line amazon-web-services

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

将一个命令的输出重定向到多个命令

我知道使用管道我可以将命令的输出重定向到另一个命令:

cmd1 | cmd2
Run Code Online (Sandbox Code Playgroud)

当我使用类似的东西时:

cmd1 | cmd2 | cmd3
Run Code Online (Sandbox Code Playgroud)

第二个管道使得cmd3输出cmd2.我的问题是:是否有可能取得cmd3输出cmd1

linux bash command-line io-redirection

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

使用单个命令移动和重命名文件

我在CMD中寻找单个命令,这将允许我重命名文件并将文件从一个目录移动到另一个目录.这是我的任务:使用新扩展名.doc重命名TEST文件夹中的所有.txt文件,然后将它们移动到TEST2文件夹.提前致谢.

command-line command cmd batch-processing

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

Perl-仅在发生替换时在命令行上打印替换的字符串

我想在目录中打印所有.sh文件。所以我尝试了以下命令-

ll | perl -pe 's/(.*)([0-9]*:[0-9]* *)(.*\.sh)/$3/'
Run Code Online (Sandbox Code Playgroud)

最后一个匹配项(.*sh)是我感兴趣的。该命令对于所有扩展名为.sh的文件均有效。但是,它还会打印所有其他无法替换的文件(即整行)。

有没有一种方法可以指定Perl仅在实际发生替换时才输出输出?

linux perl command-line

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

远程获取默认打印机

Windows 7的:

cscript C:\Windows\System32\Printing_Admin_Scripts\en-US\prnmngr.vbs -g
Run Code Online (Sandbox Code Playgroud)

Windows XP:

cscript C:\windows\system32\prnmngr.vbs -g
Run Code Online (Sandbox Code Playgroud)

这些将获得当前系统的默认打印机.我想知道是否有办法在我的计算机上运行它以通过计算机名称获取远程计算机的默认打印机?

我试过跑:

psexec \\c78572 -i -d cscript C:\Windows\System32\Printing_Admin_Scripts\en-US\prnmngr.vbs -g
Run Code Online (Sandbox Code Playgroud)

它似乎运行..但我只在远程计算机上的快速弹出cmd行窗口中看到结果而不是我的.我所看到的就是:

cscript started with process ID 568.
Run Code Online (Sandbox Code Playgroud)

在powershell gwmi win32_printer -computername c78572工作..但我不知道如何排序它以显示默认打印机.

编辑12/20/13我试图将它与显示所有打印机和默认设置相结合,但我无法让它工作:

while (1) {
$tag1 = Read-Host 'Enter tag # or Q to quit'
if ($tag1 -eq "Q") {
    break;
}

cls

sc.exe \\$tag1 start RemoteRegistry;

cls

start-sleep -seconds 2

cls

$OSInfo = get-wmiobject -class win32_operatingsystem -computername $tag1;
$OSInfo | Format-Table -Property @{Name="OS Name";Expression={$_.Caption}},@{Name="System Boot Time";Expression={$_.ConvertToDateTime($_.LastBootUpTime)}} -AutoSize;


gwmi …
Run Code Online (Sandbox Code Playgroud)

printing powershell command-line command wsh

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

从另一个文件夹linux shell中删除一个文件夹中的文件

我有两个目录. DirA包含所有文件DirB.我想删除所有这些都在文件DirBDirA.如何在linux命令行中做到这一点?

我正在使用ubuntu.

谢谢

linux shell ubuntu command-line

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

Git Alias链接添加,提交,拉动,推送?

我感兴趣的是创建一个别名,添加所有文件,提交消息,拉动,如果有任何冲突停止并显示冲突文件列表,否则推.

我已经找到了列出冲突文件(git config --global alias.conflicts "diff --name-only --diff-filter=U")的别名,但我不知道如何集成其余的命令.

甚至可以if用这种格式创建一个语句吗?

伪代码(多行可读性):

git config --global alias.commitall '!func(){ git add -A && git commit -am "$1" &&
             git pull && <conflict detection and possible die of command> &&
             git push; }; func'
Run Code Online (Sandbox Code Playgroud)

git command-line

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

获取包含要执行的管道的zsh别名

我想要一个能够快速将当前tmux窗口布局复制到Mac上的剪贴板的命令zsh.我想出了以下内容:

tmux list-windows | awk '{print $7}' |  sed 's/\]$//' | pbcopy
Run Code Online (Sandbox Code Playgroud)

当我从命令行运行它时,它与以下输出完美配合:

d97b,135x32,0,0[135x16,0,0{87x16,0,0,0,47x16,88,0,1},135x15,0,17{87x15,0,17,2,47x15,88,17,3}]
Run Code Online (Sandbox Code Playgroud)

但是,我似乎无法将其作为别名运行.如果我添加该行:

alias layout="tmux list-windows | awk '{print $7}' |  sed 's/\]$//' | pbcopy"
Run Code Online (Sandbox Code Playgroud)

.zshrc运行layout命令时,我的文件无法正常工作.它改为tmux list-windows使用layout替换会话名称的单词输出完整命令:

0: layout* (4 panes) [135x32] [layout d97b,135x32,0,0[135x16,0,0{87x16,0,0,0,47x16,88,0,1},135x15,0,17{87x15,0,17,2,47x15,88,17,3}]] @0 (active)
Run Code Online (Sandbox Code Playgroud)

我究竟做错了什么?

谢谢.

macos command-line alias zsh zshrc

2
推荐指数
3
解决办法
1140
查看次数