精华内容
下载资源
问答
  • Lesson09 Shell脚本;复习;内容提要;正则表达式;正则表达式;正则表达式;正则表达式;Shell Scripts;Shell Scripts;Shell Scripts;Shell Scripts;Shell Scripts;Shell Scripts;Shell Scripts;Shell Scripts;Shell ...
  • 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是一个命令行...

    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是一个命令行解释器,允许用户与系统进行交互。 它负责从用户那里获取输入并显示输出。

    Shell scripts are a series of commands written in order of execution. These scripts can contain functions, loops, commands, variables. Scripts make it easy for the users to save certain sequences of codes that might be used again and again. Shell scripts can also have comments to increase readability.

    Shell脚本是按执行顺序编写的一系列命令。 这些脚本可以包含函数, 循环 ,命令, 变量 。 脚本使用户可以轻松地保存某些可能反复使用的代码序列。 Shell脚本也可以带有注释以提高可读性。

    A shell script needs to be saved with the extension .sh.

    需要使用扩展名.sh保存shell脚本。

    To let the Linux system know that the file is a shell script, the file needs to begin with the shebang construct.

    为了使Linux系统知道该文件是Shell脚本,该文件必须以shebang构造开头。

    
    #!/bin/bash 
    OR
    #!/bin/sh
    

    After this, the script can contain commands, functions, loops, conditional checks, etc.

    此后,脚本可以包含命令,函数,循环,条件检查等。

    A good script always contains comments that make it readable.

    一个好的脚本总是包含使其可读的注释。

    创建并运行基本的Shell脚本 (Creating and running a basic shell script )

    A shell script can be created using vi, cat command, or the normal text editor in GUI.

    可以使用vi, cat命令或GUI中的常规文本编辑器来创建Shell脚本。

    Let’s create a basic shell script using vi

    让我们使用vi创建一个基本的shell脚本

    
    $ vi basic_script.sh
    

    This will take you to the vi editor. Add the following lines:

    这将带您到vi编辑器。 添加以下行:

    
    #!/bin/bash
    whoami
    date
    

    This simple script should display the current user followed by the date.

    这个简单的脚本应显示当前用户,然后显示日期。

    To save and exit the vi editor:

    要保存并退出vi编辑器:

    • Press ESC

      按ESC
    • Type :

      类型:
    • Type in ‘wq’

      输入“ wq”
    • Hit Enter

      按下Enter

    By default, the creator of the script does not get executable permission for the file.

    默认情况下,脚本的创建者不会获得该文件的可执行权限。

    To change that:

    要更改此设置:

    
    $ chmod +x basic_script.sh
    

    This will give you (current user) the permission to execute the file.

    这将向您(当前用户)授予执行文件的权限。

    To run the script :

    运行脚本:

    
    $ bash basic_script.sh
    
    Basic Script 1

    The first line of output corresponds to ‘whoami’ command and the second line to ‘date’ command.

    输出的第一行对应于“ whoami”命令,第二行对应于“ date”命令。

    Another way of running the script is :

    运行脚本的另一种方法是:

    
    $ ./basic_script.sh 
    

    Running the file this way might require the user to give permission first. Running it with ‘bash’ doesn’t require the permission.

    以这种方式运行文件可能需要用户首先授予权限。 使用“ bash”运行它不需要许可。

    Bash Permision

    The same script is running with ‘bash’ before it, but having permission issues when tried to execute directly. The reason this is happening is that the command bash [filename] only needs read permission from the file.

    相同的脚本之前带有“ bash”运行,但是尝试直接执行时存在权限问题。 发生这种情况的原因是命令bash [filename]仅需要从文件读取权限。

    Whereas the command ./[filename] run the file as an executable and hence requires the permission to execute. This question has been answered in detail on StackExchange.

    而命令./[filename]将文件作为可执行文件运行,因此需要执行权限。 该问题已在StackExchange上得到了详细解答。

    Bash

    In general it is better to provide executable permission.

    通常,最好提供可执行权限。

    在Shell脚本中使用变量 (Using variables in shell scripts )

    Scripts can include user-defined variables, in fact as scripts get voluminous in size it is essential to have variables that are clearly defined. Variables that are self-descriptive in nature is another quality of a good script.

    脚本可以包含用户定义的变量,实际上,随着脚本的大小变得越来越庞大,必须明确定义变量。 本质上具有自描述性的变量是好的脚本的另一种品质。

    Add the following lines to the script :

    将以下行添加到脚本中:

    
    #!/bin/bash
    #This is a comment
    
    #defining a variable
    GREETINGS="Hello! How are you"
    echo $GREETINGS
    
    Shell Script In Vi

    GREETINGS is the variable defined and later accessed using ‘$’.

    GREETINGS是定义的变量,以后使用'$'访问。

    There should be no space in the line where variables being assigned a value.

    行中没有为变量分配值的空间。

    Let’s run the script:

    让我们运行脚本:

    Using Variable Output

    从命令行读取输入 (Reading input from the command line)

    Shell scripts can be made interactive with the ability to accept input from the command line. Read command can be used to store the command line input in a variable.

    可以使Shell脚本具有交互性,并能够接受来自命令行的输入。 读取命令可用于将命令行输入存储在变量中。

    
    #!/bin/bash
    #This is a comment
    
    #defining a variable
    echo "What is your name?"
    #reading input 
    read NAME
    #defining a variable
    GREETINGS="Hello! How are you"
    echo $NAME $GREETINGS
                     
    

    A variable NAME has been used to accept input from the command line.

    变量NAME已用于接受命令行输入。

    On running the script :

    在运行脚本时:

    Reading Output

    定义功能 (Defining functions )

    Users can define their own functions in a script. These functions can take multiple arguments.

    用户可以在脚本中定义自己的功能。 这些函数可以采用多个参数。

    In the script add :

    在脚本中添加:

    
    #!/bin/bash
    #This is a comment
    
    #defining a variable
    echo "What is the name of the directory you want to create?"
    #reading input 
    read NAME
    #defining a variable
    
    echo "Creating $NAME ..."
    mkcd ()
    {
      mkdir "$NAME" 
      cd "$NAME"
    }
    
    mkcd
    echo "You are now in $NAME"
    

    This script will ask the user for a directory name. It will then create the directory and cd into it.

    该脚本将询问用户目录名称。 然后它将创建目录并cd进入该目录。

    Funciton In A Script 1

    结论 (Conclusion)

    We saw how scripts can be used to run commands in a serial order. Scripts help users in reducing redundancy and save time. Scripts can also be shared among different users.

    我们看到了如何使用脚本以串行顺序运行命令。 脚本可帮助用户减少冗余并节省时间。 脚本也可以在不同用户之间共享。

    The Scripts we saw in this tutorial were quite basic, scripts can be designed to perform complex tasks as well. To learn more about scripting refer this.

    我们在本教程中看到的脚本非常基础,脚本也可以设计为执行复杂的任务。 要了解有关脚本的更多信息,请参考

    翻译自: https://www.journaldev.com/41511/execute-command-shell-script

    shell脚本中执行命令

    展开全文
  • linux中利用shell脚本条件执行命令   在linux环境中,我们总会有一些命令需要经常用,例如经常跳转到某些目录下或者执行某些命令,输入一连串的命令是很烦的,此时我们可以预先写一些脚本然后根据我们的选择自动...

    linux中利用shell脚本条件执行命令

     

    在linux环境中,我们总会有一些命令需要经常用,例如经常跳转到某些目录下或者执行某些命令,输入一连串的命令是很烦的,此时我们可以预先写一些脚本然后根据我们的选择自动执行命令,那岂不是完美,本脚本就是为此而生的(以跳转不同的目录举例,当然也可以执行其他命令,这时候只需要类比写shell命令即可) 
    1、首先建一个shell脚本start.sh

    #!/bin/bash
    cd_dir_1="/export/songhongwei/code"
    cd_dir_2="/export/songhongwei/data"
    cd_dir_3="/export/songhongwei/soft"
    echo ""
    echo " 1: cd $cd_dir_1"
    echo " 2: cd $cd_dir_2"
    echo " 3: cd $cd_dir_3"
    echo ""
    read -p "Please input the choice:"  idx
    #if [[ -z "$idx"]];then
    #  echo "no choice,exit"
    if [[ '1' = "$idx" ]];then
      eval "cd $cd_dir_1"
    elif [[ '2' = "$idx" ]];then
      eval "cd $cd_dir_2"
    elif [[ '3' = "$idx" ]];then
      eval "cd $cd_dir_3"
    else
      echo "no choice,exit!"
    fi
    echo ""

    2、然后把该脚本放在某个目录下,例如本人放在了/export/songhongwei/soft/sh 
    3、编辑~/.profile文件把sh目录添加到环境变量即可

    PATH="$HOME/bin:$HOME/.local/bin:/export/songhongwei/soft/sh:$PATH"

    4、在shell或linux终端中可以在任何目录下直接访问该命令

    . start.sh 或 source start.sh

    这里写图片描述

    注: 
    (1)步骤4中,start.sh 前的 点 不能忘记,代表的是在当前bash环境下读取并执行FileName中的命令,否则会新开子进程执行FileName中的命令,此时cd无法再当前bash环境跳转。 
    source、sh、bash、./执行脚本的区别:http://blog.csdn.net/yun90/article/details/22667829 
    (2)添加sh目录到环境变量目的是一方面可以在任何目录下执行FileName中命令,另外可以在该sh目录下添加多个此类脚本。

    展开全文
  • linux shell 脚本 获取 执行命令结果

    万次阅读 2019-01-25 16:57:13
    有时候,我们需要在shell脚本中获取执行命令得到的结果。如果只是想知道命令是否正确执行,可以用"$?"标识,如果是想要获得命令执行的结果,可以使用`comand`或者"$(command)"或者$(command) ...

    有时候,我们需要在shell脚本中获取执行命令得到的结果。如果只是想知道命令是否正确执行,可以用"$?"标识,如果是想要获得命令执行的结果,可以使用`comand`或者"$(command)"或者$(command)

     

    实验脚本dirname.sh:

    #!/bin/bash
    echo $0
    basedir="$(cd `dirname $0` && pwd)"
    echo $basedir
    files="$(ls)"
    echo $files
    files3=$(ls)
    echo $files3
    files2=`ls`
    echo $files2
    basedir="$(dirname ${basedir})"
    echo $basedir
    

    脚本执行结果:

    [root@master ansible]# pwd
    /etc/ansible
    [root@master ansible]# sh dirname.sh
    dirname.sh
    /etc/ansible
    ansible.cfg ansible.cfg.rpmnew dirname.sh hosts roles test.txt
    ansible.cfg ansible.cfg.rpmnew dirname.sh hosts roles test.txt
    ansible.cfg ansible.cfg.rpmnew dirname.sh hosts roles test.txt
    /etc
    

     

    展开全文
  • 一分一秒,原来你也在这里。... linux export 命令: Configure 命令: make 命令: make insatll 命令: 为什么学习android音视频之前也是要学习下这个?我只能说,有时候学习的东西,实际价值...

    一分一秒,原来你也在这里。

     

    目录

    Shell变量

    readonly

    删除变量:

    Shell字符串:

    单引号字符串的限制:

    双引号:

    获取字符串的长度:

           linux export 命令:

    Configure 命令:

    make 命令:

    make insatll 命令:


    为什么学习android音视频之前也是要学习下这个?我只能说,有时候学习的东西,实际价值是往后才能体现出来的,不是马上学完马上就体现出价值。学会了的东西,其实际价值始终会有天可以体现出来。知识都是积累起来的。

    Shell是一个用C语言编写的程序,它是用户使用linux的桥梁。

    。Shell 既是一种命令语言,又是一种程序设计语言。Shell 在线工具

    #!/bin/bash
    echo "Hello World !"

    简单的直接在菜鸟工具直接运行了。不管怎样,先学一会再说。

    Shell变量

    • 命名只能使用英文字母,数字和下划线,首个字符不能以数字开头。
    • 中间不能有空格,可以使用下划线(_)。
    • 不能使用标点符号。
    • 不能使用bash里的关键字(可用help命令查看保留关键字)。

    readonly

    命令可以将变量定义为只读变量,只读变量的值不能改变。

    #!/bin/bash
    myUrl="http://www.google.com"
    readonly myUrl
    myUrl="http://www.runoob.com"

    运行之后就报错:

    This variable is read only

    删除变量:

    使用unset命令可以删除变量。

    unset variable_name

    Shell字符串:

    字符串是shell编程中最常用最有用的数据类型(除了数字和字符串,也没啥其它类型好用了),字符串可以用单引号,也可以用双引号,也可以不用引号。单双引号的区别跟PHP类似。
    str='this is a string'

    单引号字符串的限制:

    • 单引号里的任何字符都会原样输出,单引号字符串中的变量是无效的;
    • 单引号字串中不能出现单独一个的单引号(对单引号使用转义符后也不行),但可成对出现,作为字符串拼接使用

    双引号:

    your_name='runoob'
    str="Hello, I know you are \"$your_name\"! \n"
    echo -e $str
    Hello, I know you are "runoob"! 

    双引号的优点:

    • 双引号里可以有变量
    • 双引号里可以出现转义字符
    your_name="runoob"
    # 使用双引号拼接
    greeting="hello, "$your_name" !"
    greeting_1="hello, ${your_name} !"
    echo $greeting  $greeting_1
    # 使用单引号拼接
    greeting_2='hello, '$your_name' !'
    greeting_3='hello, ${your_name} !'
    echo $greeting_2  $greeting_3
    输出:
    hello, runoob ! hello, runoob !
    hello, runoob ! hello, ${your_name} !

    获取字符串的长度:

    string="abcd"
    echo ${#string} #输出 4

    。。。s以上很多格式都是比较基础的知识点,可以自行去菜鸟教程学习。


    linux export 命令:

    Linux export 命令用于设置或者显示环境变量。、

    在shell中执行程序,shell会提供一组环境变量。

    export [-fnp][变量名称】=【变量设置值】

    export --help 可以查看帮助。

     

    也可以是直接使用 export 直接打出所有环境变量。

    你可以只打出export来查看当前的所有环境变量。如果你要在某个环境变量(比如PATH)中加入一些新的路径(如/bin/bash),可以使用如下命令格式

     export PATH=/bin/bash:$PATH

    然后输入命令 export -p 显示所有的环境变量时候。就显示出来了。可以复制到记事本打开搜索下。

     

    当然后楼上截图的路径只是随便输入的。也是测试使用下。

     

     

    以上就是export 简单使用。


    PWD 命令:显示当前路径

     

    Configure 命令:

    这个命令需要在有Configure 的文件情况才能执行。

    输入: ./configure --help 命令

    输出了一大堆 。。。

    这个 Configure命令 一般用来生成makefile,为下一步准备的,

    ./configure –prefix=/usr  例如这个是指将软件 安装到 /usr 下面。、

    还有很多参数 :–with、–enable、–without、–disable 等等参数对编译加以控制

    make 命令:

    这一步就是编译,大多数的源代码包都经过这一步进行编译

    可能遇到的错误:make *** 没有指明目标并且找不到 makefile。 停止。问题很明了,没有Makefile,怎么办,原来是要先./configure 一下,再make。

    make insatll 命令:

      这条命令来进行安装(当然有些软件需要先运行 make check 或 make test 来进行一些测试),这一步一般需要你有 root 权限(因为要向系统写入文件)。

    注意:运行make clean可以删除一些临时文件。

    Go To Next android音视频开发基础3--MSYS2相关环境搭建

    展开全文
  • linux中利用shell脚本条件执行命令

    万次阅读 2017-11-24 13:02:51
    linux环境中,我们总会有一些命令需要经常用,例如经常跳转到某些目录下或者执行某些命令,输入一连串的命令是很烦的,此时我们可以预先写一些脚本然后根据我们的选择自动执行命令,那岂不是完美,本脚本就是为此...
  • Linux编写shell脚本执行多个命令

    千次阅读 2020-06-04 21:22:27
    Linux下编写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...
  • linux shell脚本 mysql多行命令执行

    千次阅读 2015-07-20 11:48:50
    shell脚本中,通常将EOF与 结合使用,表示后续的输入作为子命令或子Shell的输入,直到遇到EOF为止,再返回到主Shell。 因此数据库连接和sql语句执行的脚本如下:#!/bin/sh mysql -u root -pcloud <<EOF 2>
  • linux--shell脚本常用脚本命令

    千次阅读 2018-06-14 22:39:03
    什么是shell?shell也是操作系统中的一个软件,他包含...脚本是一种解释型语言 ##命令需要解释器解释,运行效率慢用shell脚本保存执行动作用脚本判定命令执行条件用脚本来实现动作的批量生产的执行1.diff 和pathdi...
  • php执行linux命令shell脚本。以获取服务器运行状态举栗子
  • shell脚本执行命令误区

    千次阅读 2018-12-27 15:32:37
    shell脚本是如何被Linux系统所调用执行的呢,首先我们以ps命令为例,来解释一下shell脚本是如何被系统执行的。 命令:ps -o pid,ppid,pgid,sid,comm 其中:pid:自身进程id,ppid:父进程id,pgid:所属进程组id,...
  • 使用linux肯定是要会使用命令的,...而shell脚本语言和linux命令有什么联系,有什么区别,也是要弄清楚的。 什么是shell,shell与linux命令的联系 shell翻译成壳的意思,它是包裹在linux内核外层的、一个可通过...
  • 使用场景,大数据平台azkaban任务中通过shell脚本调用sql文件(尤其是调用多个sql时),希望可以传参到sql文件中 方法:本例以sh调用hive命令执行sql为例,道理相同 1、sh 文件中执行hive -f 命令 将inputdate传给...
  • Linux中编写Shell脚本

    万次阅读 多人点赞 2018-10-08 11:22:35
    Shell脚本执行 Shell脚本编写规范 Shell 中的变量 变量的算术运算 双小括号 (()) 数值运算命令的用法 let 运算命令的用法 expr 命令的用法 br 命令的用法 $[]符号的运算示例 Shell脚本的条件测试 几种...
  • ”、双and号“&&”和双竖线“||”来连接多个命令,这篇文章主要介绍了Shell脚本中多命令逻辑执行顺序的方法,本文给大家介绍的非常详细,对大家的工作或学习具有一定的参考借鉴价值,需要的朋友参考下
  • linux shell脚本 未找到命令

    千次阅读 2020-12-28 18:19:08
    比如这样的shell脚本 1 #!/bin/bash 2 #Program 3 # Use id,inger command to check system account’s information 4 #History 5 # 2020/12/28 Chen Ying-jun First release 6 PATH=~/bin:/bin:/sbin:/usr/bin:/usr...
  • shell 脚本介绍 shell是一种脚本语言 aming_linux blog.lishiming.net 可以使用逻辑判断、循环等语法 可以自定义函数 shell是系统命令的集合 ...Shell脚本结构和执行 开头(首行)需要加: #!/bin/b...
  • 多方查找发现Shell脚本中的Java命令需要引入环境变量方可正常执行。因此做了一下修改,脚本如下(仅供参考): 1、crontab执行配置 * * * * * cd /项目目录 && ./auto_start.sh >> /log/auto.out 2、Shell脚本 #!/...
  • Linum Linum是另一个用Shell脚本编写Linux枚举脚本。 描述Linum调用Linux内置命令并查询配置文件和日志文件,以收集有关系统的各种信息。 用法最好以root用户访问权限运行此脚本,因为某些信息只能作为root用户收集...
  • 在Windows下写了一个shell脚本,上传到Linux执行时报错: 代码如下:[root@localhost test]# ./test.sh -bash: ./test.sh: /bin/sh^M: bad interpreter: No such file or directory test.sh源码: 代码如下:#!...
  • 本文介绍在Linux系统下几种常见的监控需求及其shell脚本的编写。 文章目录: 1.Linux使用 Shell 检查进程是否存在 2.Linux使用 Shell检测进程 CPU 利用率 3.Linux使用 Shell检测进程内存使用量 4.Linux使用 Shell...
  • java连接服务器,并执行Linux服务器上的命令脚本
  • Shellshell执行linux命令

    万次阅读 2017-09-09 10:58:22
    执行linux命令,将执行命令返回的值,赋给shell中的变量 第一种 data=`command` 第二种 data=$(command)其他 开头必须以 #!/bin/sh 开头 #![Args],Args表示执行该文件的程序 chmod +x filename,使可通过 ./...
  • linuxshell 脚本 使用adb 命令

    千次阅读 2019-06-19 09:17:22
    echo "start dump meminfo" ... 向文件末尾追加命令 #adb shell dumpsys meminfo >> ./shell.log adb shell cat /proc/meminfo >> ./shell.log i=$(( $i + 1 )) time=$(date "+%Y-%m-%...
  • 有些shell脚本或者命令,只有在规定时间内运行完成才有意义,这时可以设置脚本/命令的时间限制,如果在设定时间内,还没有完成,则终止命令/脚本。可以使用timeout命令来做到,先看一下它的用法: $ man timeout ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 220,857
精华内容 88,342
关键字:

shell脚本执行linux命令

linux 订阅