首页 > 编程语言 >Java执行操作系统命令-Process抽象类(3)-cmd、bash

Java执行操作系统命令-Process抽象类(3)-cmd、bash

时间:2022-12-21 20:37:11浏览次数:65  
标签:Java help Process cmd -- command ben bash

序章

在前面两篇随笔中,提到了添加下面的前缀才可以执行命令:

Windows:cmd /C

Linux:/bin/bash -c

本文介绍这两个命令。ben发布于博客园

 

Windows之cmd

cmd 即 cmd.exe。

查询其位置:where cmd

D:\>where cmd
C:\Windows\System32\cmd.exe

ben发布于博客园

查看 cmd 的详情:cmd /? 或者 help cmd

D:\>cmd /?
Starts a new instance of the Windows command interpreter
翻译:启动Windows命令解释器的一个新实例

CMD [/A | /U] [/Q] [/D] [/E:ON | /E:OFF] [/F:ON | /F:OFF] [/V:ON | /V:OFF]
    [[/S] [/C | /K] string]

/C      Carries out the command specified by string and then terminates
        翻译:执行字符串指定的命令并终止。
/K      Carries out the command specified by string but remains
/S      Modifies the treatment of string after /C or /K (see below)
/Q      Turns echo off
/D      Disable execution of AutoRun commands from registry (see below)
/A      Causes the output of internal commands to a pipe or file to be ANSI
/U      Causes the output of internal commands to a pipe or file to be
        Unicode
...省略...
Note that multiple commands separated by the command separator '&&'
are accepted for string if surrounded by quotes.  
翻译:请注意,由命令分隔符“&&”分隔的多个命令如果被引号包围,则接受字符串。
Also, for compatibility
reasons, /X is the same as /E:ON, /Y is the same as /E:OFF and /R is the
same as /C.  Any other switches are ignored.
...省略...

 

cmd /C 示例

ben发布于博客园

Linux之bash

 前文介绍过,除了 bash,还有sh、dash。

三者的关系及区别见 参考资料#1。ben发布于博客园

 

命令所在位置:使用 whereis 命令

ben@ben-u:~$ whereis bash
bash: /usr/bin/bash /etc/bash.bashrc /usr/share/man/man1/bash.1.gz

ben@ben-u:~$ whereis sh
sh: /usr/bin/sh /usr/share/man/man1/sh.1.gz

ben@ben-u:~$ whereis dash
dash: /usr/bin/dash /usr/share/man/man1/dash.1.gz

 

查看 bash 命令详情:1)--help;2)man bash

ben@ben-u:~$ bash --help
GNU bash, version 5.0.17(1)-release-(x86_64-pc-linux-gnu)
Usage:  bash [GNU long option] [option] ...
        bash [GNU long option] [option] script-file ...
GNU long options:
        --debug
        --debugger
        --dump-po-strings
        --dump-strings
        --help
        --init-file
        --login
        --noediting
        --noprofile
        --norc
        --posix
        --pretty-print
        --rcfile
        --restricted
        --verbose
        --version
Shell options:
        -ilrsD or -c command or -O shopt_option         (invocation only)
        -abefhkmnptuvxBCHP or -o option
Type `bash -c "help set"' for more information about shell options.
Type `bash -c help' for more information about shell builtin commands.
Use the `bashbug' command to report bugs.

bash home page: <http://www.gnu.org/software/bash>
General help using GNU software: <http://www.gnu.org/gethelp/>
ben@ben-u:~$

还可以输入 bash -c "help set" 查看选项信息;输入 bash -c help 查看更多信息(真多)。

 

使用 man 命令:

其中关于 -c 选项的解释:ben发布于博客园

 -c
 
If the -c option is present, then commands are read from the first non-option argument command_string.
 翻译:如果存在-c选项,则从第一个非选项参数命令_string中读取命令。
If there are arguments  after the  command_string, the first argument is assigned to $0 
 and any remaining arguments are assigned to the positional parameters.
 翻译:如果command_strint后面有参数,则将第一个参数分配给$0而任何剩下的参数都被分配给了位置参数。
The assignment to $0 sets the name of the shell, which is used in warning and error messages.
 翻译:分配为$0将设置shell的名称,用于发送警告和错误消息。

注,内容很多,孤未全阅。

 

bash -c 示例

从测试结果来看,在终端执行时,需要使用 && 替代 管道运算符。ben发布于博客园

 

本文链接:ben发布于博客园

https://www.cnblogs.com/luo630/p/16996774.html

 

参考资料

1、linux中的sh、dash、bash的区别

https://www.cnblogs.com/macrored/p/11548347.html

posted @ 2019-09-19 12:03  Macrored

2、linux shell 执行多个命令的方法

https://www.cnblogs.com/youxin/p/3181120.html

2013-07-09 23:32  youxin

3、

 

ben发布于博客园

 

标签:Java,help,Process,cmd,--,command,ben,bash
From: https://www.cnblogs.com/luo630/p/16996774.html

相关文章

  • Java执行操作系统命令-Process抽象类(2)(Linux)
    Java820.04.1-UbuntuEclipseVersion:2022-09(4.25.0)-- 前一篇是在Windows上执行命令,本篇介绍在Linux系统中执行命令。测试命令:ls、cd、pwd 测试代码Proce......
  • java的类和对象
    什么是类?类是一类事物的描述,一类事物的模板,一类事物的分类。什么是对象?对象是一类事物的具体描述,在生活中能够看的见,摸得着的实体,对象是类的具体的实例。什么是属......
  • JAVA数组
    数组是什么?数组是相同类型的,用一个标识符名称封装到一起的一个对象序列或基本类型数据序列。简单来讲就是一组相同类型元素的集合。为什么使用数组?当需要存储大量数据,例......
  • 【Java自动化测试】-TestNG操作详解
    一、 TestNG使用流程1.1TestNG安装本文以IDEA+Maven为例介绍TestNG,IntelliJIDEA版本为IntelliJIDEA。IntelliJIDEA中默认集成了TestNG,点击File->Settings,如下图:......
  • java两个list取交集
    直接上代码List<Integer>list1=newArrayList<>();list1.add(1);list1.add(2);list1.add(3);List<Integer>list2=......
  • R语言和Python用泊松过程扩展:霍克斯过程Hawkes Processes分析比特币交易数据订单到达
    全文下载链接:http://tecdat.cn/?p=25880 最近我们被客户要求撰写关于泊松过程的研究报告,包括一些图形和统计输出。本文描述了一个模型,该模型解释了交易的聚集到达,并展示......
  • Java并发原理
    //并发产生的底层原理,从三个维度进行说明://1.内存维度,cpu内存有主存,缓存,寄存器,一般我们操作数据在寄存器上操作是最快的,但是直接在寄存器上操作的话,会造成,每个线程自己的......
  • java -jar 参数前后位置说明
    springboot项目启动的时候可以直接使用java-jarxxx.jar这样。下面说说参数的一些讲究1.-DpropName=propValue的形式携带,要放在-jar参数前面eg:java-Dxxx=test-Dp......
  • java 实现文件夹上传(springBoot 框架)
    有时我们后台管理等服务可能会有这样一个简单需求,就是根据文件夹将整个文件夹下的所有资源都上传到我们的服务器上,本人也是搜索了大量资料,最终以最简单便捷的方式实现该功......
  • 使用 Maven 构建 Java 项目
    本指南将引导您使用Maven构建一个简单的Java项目。您将构建的内容您将创建一个提供一天中的时间的应用程序,然后使用Maven构建它。你需要什么约15分钟最喜欢的文本编辑......