精华内容
下载资源
问答
  • 运行 1.安装 git 2. 右键git bash 3. bash xx.sh {} {} {}… 其中{}为参数 规则 #! /bin/bash # employ bash shell起始语句 player1=xiaoming # define a player1 player2=ken echo "Game start! $player1 $player2...

    运行

    1.安装 git
    2. 右键git bash
    3. bash xx.sh {} {} {}…
    其中{}为参数

    规则

    #! /bin/bash  # employ bash shell起始语句
    player1=xiaoming # define a player1
    player2=ken  
    echo "Game start! $player1  $player2" # echo is used to printf in terminal
    

    if else结构

    条件表达式引用变量要带$

    if command ; then
    code1
    else
    code2
    fi
    

    eg
    在这里插入图片描述
    输出
    在这里插入图片描述
    在这里插入图片描述

    • 文件表达式
      if [ -f file ] 如果文件存在
      if [ -d … ] 如果目录存在
      if [ -s file ] 如果文件存在且非空
      if [ -r file ] 如果文件存在且可读
      if [ -w file ] 如果文件存在且可写
      if [ -x file ] 如果文件存在且可执行

    • 整数变量表达式
      if [ int1 -eq int2 ] 如果int1等于int2
      if [ int1 -ne int2 ] 如果不等于
      if [ int1 -ge int2 ] 如果>=
      if [ int1 -gt int2 ] 如果>
      if [ int1 -le int2 ] 如果<=
      if [ int1 -lt int2 ] 如果<

    • 字符串变量表达式
      If [ $a = $b ] 如果string1等于string2
      字符串允许使用赋值号做等号
      if [ $string1 != $string2 ] 如果string1不等于string2
      if [ -n $string ] 如果string 非空(非0),返回0(true)
      if [ -z $string ] 如果string 为空
      if [ $sting ] 如果string 非空,返回0 (和-n类似)

    ref
    https://blog.csdn.net/daigualu/article/details/76358587
    https://www.cnblogs.com/wangcp-2014/p/6704375.html

    展开全文
  • Jsch远程执行shell脚本命令

    千次阅读 2019-08-21 10:09:53
    分享知识 传递快乐 JSch是Java Secure Channel的缩写。JSch是一个SSH2的纯Java实现。它允许你连接到一个SSH服务器,并且可以使用端口转发,X11...Jsch 使用shell执行命令,有两种方法: ChannelExec channelExe...

    分享知识 传递快乐


    JSch是Java Secure Channel的缩写。JSch是一个SSH2的纯Java实现。它允许你连接到一个SSH服务器,并且可以使用端口转发,X11转发,文件传输等,当然你也可以集成它的功能到你自己的应用程序。框架jsch很老的框架,更新到2016年,现在也不更新了。

    Jsch 使用shell执行命令,有两种方法:

    ChannelExec channelExec = (ChannelExec) session.openChannel("exec");//只能执行一条指令(也可执行符合指令)
    
    ChannelShell channelShell = (ChannelShell) session.openChannel("shell");//可执行多条指令 不过需要输入输出流

    ChannelExec

    对于ChannelExec,在调用connect()方法之前这个命令提供了setCommand()方法,并且这些命令作为输入将以输入流的形式被发送出去。(通常,你只能有调用setCommand()方法一次,多次调用只有最后一次生效),但是你可以使用普通shell的分隔符来提供多个命令。这就像在你本机上执行一个shell脚本一样(当然,如果一个命令本身就是个交互式shell,这样就像ChannelShell)。

    ChannelExec复合命令:

    • 每个命令之间用 ; 隔开。说明:各命令的执行给果,不会影响其它命令的执行。换句话说,各个命令都会执行,但不保证每个命令都执行成功。
    • 每个命令之间用 && 隔开。说明:若前面的命令执行成功,才会去执行后面的命令。这样可以保证所有的命令执行完毕后,执行过程都是成功的。
    • 每个命令之间用 || 隔开。说明:|| 是或的意思,只有前面的命令执行失败后才去执行下一条命令,直到执行成功一条命令为止。

    ChannelShell

    对于ChannelShell,以输入流的形式,可执行多条指令,这就像在本地计算机上使用交互式shell(它通常用于:交互式使用)。如要要想停止,有两种方式: 

    • 发送一个exit命令,告诉程序本次交互结束;
    • 使用字节流中的available方法,来获取数据的总大小,然后循环去读。


    ChannelSftp

    ChannelSftp类是JSch实现SFTP核心类,它包含了所有SFTP的方法,如:

    • put():文件上传
    • get():文件下载
    • cd():进入指定目录
    • ls():得到指定目录下的文件列表
    • rename():重命名指定文件或目录
    • rm():删除指定文件
    • mkdir():创建目录
    • rmdir():删除目录

     
    JSch支持三种文件传输模式:

    • OVERWRITE:完全覆盖模式,这是JSch的默认文件传输模式,即如果目标文件已经存在,传输的文件将完全覆盖目标文件,产生新的文件。
    • RESUME:恢复模式,如果文件已经传输一部分,这时由于网络或其他任何原因导致文件传输中断,如果下一次传输相同的文件,则会从上一次中断的地方续传。
    • APPEND:追加模式,如果目标文件已存在,传输的文件将在目标文件后追加。

    SftpProgressMonitor接口类监控传输进度

    JSch支持在文件传输时对传输进度的监控。可以实现JSch提供的SftpProgressMonitor接口来完成这个功能。

    SftpProgressMonitor接口类方法:

    • init():当文件开始传输时,调用init方法。
    • count():当每次传输了一个数据块后,调用count方法,count方法的参数为这一次传输的数据块大小。
    • end():当传输结束时,调用end方法。

     

     

     

     

    本文只总结一些要点,如若需要源码,请点击 查看源码

    ————————————

    如有不妥之处请留言指正。
    相互学习,共同进步。

    展开全文
  • android应用程序执行shell脚本命令

    千次阅读 2014-06-16 15:51:24
    急问android应用程序如何执行shell脚本命令 跪求大神指点~! 小菜在做一个android应用程序,需要执行系统调用命令,然后我考虑将命令写在.sh脚本里,直接调用脚本执行。 但是调用一直不成功。 我具体用到了如下...
    急问android应用程序如何执行shell脚本命令
    
    跪求大神指点~!
    小菜在做一个android应用程序,需要执行系统调用命令,然后我考虑将命令写在.sh脚本里,直接调用脚本执行。
    但是调用一直不成功。
    我具体用到了如下行的函数调用,系统命令写入了xxxxx.sh里
    Process proc=Runtime.getRuntime().exec("/system/bin/sh /system/bin/xxxxx.sh"); 
    请懂这个的朋友指点下,谢谢!!

    ------解决方案--------------------
     这是方法,添加到你的应用程序中即可,比较简陋,呵呵!
    public void execShell(String cmd){
         try{  
                //权限设置
                Process p = Runtime.getRuntime().exec("su");  
                //获取输出流
                OutputStream outputStream = p.getOutputStream();
                DataOutputStream dataOutputStream=new DataOutputStream(outputStream);
                //将命令写入
                dataOutputStream.writeBytes(cmd);
                //提交命令
                dataOutputStream.flush();
                //关闭流操作
                dataOutputStream.close();
                outputStream.close();
           }  
           catch(Throwable t)  
            {  
                 t.printStackTrace();  
                } 
        }
    ------解决方案--------------------
    先要确认  你在脚本是否能正常在adb.exe窗口 环境下正常执行  脚本读写权限要注意的

    如果能正常执行那么

    ... oncreate(){
           test3()
    }

    private void test3() {
    execCommand1("system/bin/xxxx.sh");
    }

    public boolean execCommand1(String cmd) {
    Process process = null;
    try {
    process = Runtime.getRuntime().exec(cmd);
    process.waitFor();
    } catch (Exception e) {
    return false;
    } finally {
    try {
    process.destroy();
    } catch (Exception e) {
    }
    }
    return true;
    }
    展开全文
  • 执行shell脚本.sh提示: 没有那个文件或目录 ..排查了很多可能性,什么路径,版本的。最后找到一个符合的。 因为脚本文件在windows下编辑过。windows下,每一行的结尾是\n\r,而在linux下文件的结尾是\n,那么在...

    执行shell脚本.sh提示: 没有那个文件或目录 ..排查了很多可能性,什么路径,版本的。最后找到一个符合的。

    因为脚本文件在windows下编辑过。windows下,每一行的结尾是\n\r,而在linux下文件的结尾是\n,那么在windows下编辑过的文件在linux下打开看的时候每一行的结尾就会多出来一个字符\r,这时候只需要删除这个字符就可以了。

    可以使用命令:sed -i 's/\r$//' urfile (urfile 为目标文件)。

    参考博客:

    https://blog.csdn.net/yuan1755601154/article/details/82346426

    https://blog.csdn.net/z735640642/article/details/84307401

    感谢两位博主大大~

    展开全文
  • shell脚本命令运行

    千次阅读 2019-03-25 08:44:25
    终端读取数据表头 head -1 /mnt/daytime.csv 写sh脚本读取表头 [root@nhost21 mnt]# more zz.sh #!/bin/bash MM=`head -1 /mnt/daytime.csv` ...运行sh脚本,得到结果 [jhadmin@nhost21 mnt]$ source zz.sh : ...
  • shell脚本命令大全

    千次阅读 2019-01-07 11:15:32
    运行shell脚本方式 #!/bin/bash echo “Hello World !” #! 是一个约定的标记,它告诉系统这个脚本需要什么解释器来执行,即使用哪一种 Shell。echo 命令用于向窗口输出文本。 运行方式 1 chmod +x ./test.sh #使...
  • shell 脚本介绍 shell是一种脚本语言 aming_linux blog.lishiming.net 可以使用逻辑判断、循环等语法 可以自定义函数 shell是系统命令的集合 ...Shell脚本结构和执行 开头(首行)需要加: #!/bin/b...
  • shell脚本执行命令Shell is a command-line interpreter that allows the user to interact with the system. It is responsible for taking inputs from the user and displaying the output. Shell是一个命令行...
  • 可以使用如下的方法实现:假设要运行命令是command(这个命令可以是一条shell命令,也可以是执行一个shell脚本),先创建一个run.sh,将要执行命令写入run.sh中#!/bin/bash nohup command &amp;&gt;/dev...
  • Shell脚本命令执行顺序

    万次阅读 2014-11-21 09:32:20
    相应的命令可以是系统命令shell脚本。Shell还提供了在当前shell或子shell中执行一组命令的方法,即使用()和{}。 1.使用&&: 形式:命令1 && 命令2 &&左边的命令(命令1)返回真(即返回0,成功被执行)后,...
  • shell脚本中,运行shell脚本命令;在Python命令行中,运行Python代码。然而,“python hello.py”是一个脚本命令,不是python代码。  因此,退出python命令行,直接cd到hello.py所在目录,运行python hello.py...
  • Qt下编码调用Linux的Shell脚本命令

    千次阅读 2019-03-21 17:20:55
    Linux下编写Qt程序,常会碰到需要执行Shell脚本命令的时候。因为简单调用的一个脚本命令,可以大大简化功能实现的复杂度。 调用Shell脚本命令,Qt环境下常用两种方式: 1)使用QProcess开启一个进程,把脚本命令作为...
  • 今天小编就为大家分享一篇关于Linux crontab定时执行Shell脚本需要执行特定的命令时解决思路,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
  • shell脚本快速执行命令

    千次阅读 2019-03-24 11:26:02
    shell脚本快速执行命令1.gnome-terminal2.基本用法3.启动后自动执行命令4.demo15.demo2 1.gnome-terminal 常用,置顶: gnome-terminal -x bash -c "子终端要执行的命令1;2;...." gnome-terminal -t "title-name" -x...
  • 假设我们编写好的shell脚本的文件名为hello.sh,文件位置在/data/shell目录中并已有执行权限。 方法一:切换到shell脚本所在的目录(此时,称为工作目录)执行shell脚本:此种方法为阿里云推荐 cd /data/shell ./...
  • shell 脚本命令 : 重定向

    千次阅读 2018-03-14 17:59:46
    最近在看shell 脚本命令 : 重定向 :即重新改变输入输出的来源 希望想将在终端输出的信息保存到文件,直接在命令后面加上&gt; filename即可 希望想将在终端输出的信息保存到文件,直接在命令后面加上&gt; ...
  • shell脚本命令继续执行

    千次阅读 2016-02-19 16:09:00
    切换用户后命令继续执行eg:#!/bin/bashsu - test <<EOFpwd;exit;EOF 转载于:https://blog.51cto.com/xuanxy/1743418
  • 小菜在做一个android应用程序,需要执行系统调用命令,然后我考虑将命令写在.sh脚本里,直接调用脚本执行。 但是调用一直不成功。 我具体用到了如下行的函数调用,系统命令写入了xxxxx.sh里 Process proc=Runtime...
  • 主要介绍了ssh远程执行命令方法和Shell脚本实例,本文讲解了ssh执行远程操作方法和远程执行命令shell脚本示例,需要的朋友可以参考下
  • shell 脚本执行命令

    2015-01-24 15:38:28
    刚开始学shell脚本,执行脚本时一直是直接使用 sh xx.sh 命令执行, 一直不明白为什么网上都是推荐chmod +x 后再执行,今天才发现点区别: 举例(保存为test.sh): 第一行使用 bash 解释器: #!/bin/bash echo "测试...
  • java连接服务器,并执行Linux服务器上的命令脚本
  • linux shell 脚本 获取 执行命令结果

    万次阅读 2019-01-25 16:57:13
    有时候,我们需要在shell脚本中获取执行命令得到的结果。如果只是想知道命令是否正确执行,可以用"$?"标识,如果是想要获得命令执行的结果,可以使用`comand`或者"$(command)"或者$(command) ...
  • 最近写了一个shell脚本,在windows上运行运行后弹出的命令窗口直接退出看不到结果。想到用一下办法解决 在脚本结尾增加一个交互命令 read -p "press enter end" 运行效果
  • 服务器环境 [uname -a] Linux VM_16_16_centos 3.10.0-862.el7.x86_64 #1 SMP Fri Apr 20 16:44:24 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux 日志路径 [pwd] /data/...shell 脚本路径 [v...
  • 本地执行shell命令成功,Jenkins 远程执行 shell命令有时 提示命令找不到,或者make的时候报错。 因为Jenkins执行shell时无法获取环境变量的原因导致 ...在shell脚本里面添加了后,Jenkins就能正常的运行sh...
  • 好了,这篇文章我只演示怎么用shell脚本切换到其他用户执行命令. 系统:centos 5.x 脚本内容: cat test.sh 代码如下: #!/bin/bash su – test <<EOF pwd; exit; EOF 执行结果图: 当然也可以用下面的命令来...
  •  在Linux环境下,通过“ls、ls-l、ls -a”命令查看当前目录下的内容,通过“cd ”命令进入想新建.sh文件的文件夹后,通过“pwd”命令查看所在目录的地址。  通过如下命令使用nano编辑器创建.sh文件: sudo ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 216,081
精华内容 86,432
关键字:

运行shell脚本命令sh