ubnutu安装多个shell脚本_ubuntu shell脚本安装mysql - CSDN
精华内容
参与话题
  • 编写shell脚本程序一次安装多个软件 编写shell脚本程序一次安装多个软件,主要用于一些软件依赖环境配置。 1、shell脚本程序必须以下面的行开始(必须方在文件的第一行):  #!/bin/sh   符号#!用来告诉系统它...

    Ubuntu系统编写shell脚本程序一次安装多个软件包


    编写shell脚本程序一次安装多个软件,主要用于一些软件依赖环境配置。

    1、shell脚本程序必须以下面的行开始(必须方在文件的第一行):

      #!/bin/sh

     

    符号#!用来告诉系统它后面的参数是用来执行该文件的程序。在这个例子中我们使用/bin/sh来执行程序。

    2、当编辑好脚本后,还必须使其可执行。

    使脚本可执行:

      chmod +x filename

    3、然后,您可以通过输入: ./filename 来执行您的脚本。


    如下:

    下面是我安装NS3之前,安装NS3依赖的多个软件包:

    1、在vi中编辑如下文件

    #!/bin/sh
    sudo apt-get install gcc g++ python -y
    sudo apt-get install gcc g++ python python-dev -y
    sudo apt-get install mercurial -y
    sudo apt-get install bzr -y
    sudo apt-get install gdb valgrind -y
    sudo apt-get install gsl-bin libgsl0-dev libgsl0ldbl -y
    sudo apt-get install flex bison libfl-dev -y
    sudo apt-get install g++-3.4 gcc-3.4 -y
    sudo apt-get install tcpdump -y
    sudo apt-get install aqlite aqlite3 libsqlite3-dev -y
    sudo apt-get install libxml2 libxml2-dev -y
    sudo apt-get install libgtk2.0-0 libgtk2.0-dev -y
    sudo apt-get install vtun lxc -y
    sudo apt-get install uncrustify -y
    sudo apt-get install doxygen grphviz imagemagick -y
    sudo apt-get install texlive texlive-extra-untils texlive-latex-extra -y
    sudo apt-get install python-sphinx dia -y
    sudo apt-get install python-pygraphviz python-kiwi python-pygoocanvas libgoocanvas-dev -y
    sudo apt-get install libboost-signals-dev libboost-filesystem-dev -y
    sudo apt-get install openmpi* -y

    :wq mysetup      #(注释)保存为以mysetup为名字的文件


    2、终端中编译: chmod +x mysetup 

    3、运行安装,终端中输入: ./mysetup

    展开全文
  • Ubuntu系统编写shell脚本程序一次安装多个软件包 编写shell脚本程序一次安装多个软件,主要用于一些软件依赖环境配置。 1、shell脚本程序必须以下面的行开始(必须方在文件的第一行):  #!/bin/sh 符号#!...

    Ubuntu系统编写shell脚本程序一次安装多个软件包


    编写shell脚本程序一次安装多个软件,主要用于一些软件依赖环境配置。

    1、shell脚本程序必须以下面的行开始(必须方在文件的第一行):

      #!/bin/sh

     

    符号#!用来告诉系统它后面的参数是用来执行该文件的程序。在这个例子中我们使用/bin/sh来执行程序。

    2、当编辑好脚本后,还必须使其可执行。

    使脚本可执行:

      chmod +x filename

    3、然后,您可以通过输入: ./filename 来执行您的脚本。
    --------------------- 
    作者:woaiyaou 
    来源:CSDN 
    原文:https://blog.csdn.net/woaiyaou/article/details/78359264 
    版权声明:本文为博主原创文章,转载请附上博文链接!

    展开全文
  • ubuntu编写开机自启动shell脚本

    万次阅读 2013-05-01 17:20:09
    1、首先编写一简单的shell脚本  vimtest.sh(不习惯使用vim可以使用nano)  进入vim后按i键,然后输入(#!/bin/sh符号#!用来告诉系统它后面的参数是用来执行该文件的程序。) #!/bin/bash echo"Helloworld!...

    1、首先编写一个简单的shell脚本


        vimtest.sh(不习惯使用vim可以使用nano)
        进入vim后按i键,然后输入(#!/bin/sh符号#!用来告诉系统它后面的参数是用来执行该文件的程序。)
    #!/bin/bash 
    echo"Helloworld!"
    
    filename=`date"+%Y%m%d"` 
    echo$filename
        然后先Esc再shift+z两次(保存)
        在命令行输入:    chmod  +x test.sh   (赋予执行权限)
        运行:./test.sh

        查看命令的路径:whichls(假设查看ls命令的路径)
        #后面的内容表示注释,要养成写注释的良好习惯


        更多shell编程知识       shell编程简介


    2、设置脚本开机自启动


    方案一:

        编辑 /etc/init.d/rc.local 文件,在最后加上你的脚本即可。
        比如:我已经编写了一个脚本apk.sh,存放在/home/apk/下面
                在Ubuntu终端输入:    sudo nano /etc/init.d/rc.local
                在结尾出加入: sh  /home/apk/shell.sh                 //即可开机自动加载脚本

    方案二:


        1) 将你的启动脚本复制到 /etc/init.d目录下
                sudo cp test.sh /etc/init.d/

        2)执行如下命令将脚本放到启动脚本中去:
                cd /etc/init.d
                sudo chmod 755 /etc/init.d/test.sh
                sudo update-rc.d test.sh defaults95

    注:其中数字95是脚本启动的顺序号,按照自己的需要相应修改即可。在你有多个启动脚本,而它们之间又有先后启动的依赖关系时你就知道这个数字的具体作用了。该命令的输出信息参考如下:
    
            update-rc.d: warning: /etc/init.d/test missing LSB information
    update-rc.d: see
     
    卸载启动脚本的方法:
                cd /etc/init.d
                sudo update-rc.d -f test.shremove


    注意事项:

        开始我使用forever命令写了一个脚本,如下:
                #!/usr/local/bin/forever
                forever start /home/apk/apkAnalysis/app.js

        可是不论我使用什么方法它都启动不起来,后来发现它少了一个sudo权限:
                #!/usr/local/bin/forever
                sudo forever start /home/apk/apkAnalysis/app.js

        所以在配置开机启动的时候一定要注意sudo的使用。

        查看系统启动的日志:cat /var/log/boot.log
        开始是一直都起不来,看了下日志,发现文件不存在;登录之后查看文件是存在的,可能是执行启动脚本的时候用户目录还没有mount上来

    然后把工程放到srv目录下面就可以开机自启动了。
    改一下权限sudo chmod 775 /srv/
    展开全文
  • ubuntushell脚本基础与入门

    千次阅读 2014-10-11 17:54:32
    今天阅读项目的sh脚本,特地kan

    shell脚本学习推荐书籍:

    《LINUX与UNIX Shell编程指南》 

    < < Advanced Bash-Scripting Guide > > ,即ABS

    《Learning the bash shell》


    一、今天阅读项目的sh脚本,特地看了下sh脚本的执行方法,发现还是挺多的,在网络上搜索到一些相关资料,罗列如下。

    1. source命令或者点(.)命令用法:

      source FileName

      作用:在当前bash环境下读取并执行FileName中的命令。该filename文件可以无"执行权限"

        注:该命令通常用命令“.”来替代。

    这里的FileName不需要用 #!

        如:source .bash_profile

            . .bash_profile两者等效。

        source(或点)命令通常用于重新执行刚修改的初始化文档。

        source命令(从 C Shell 而来)是bash shell的内置命令。

        点命令,就是个点符号,(从Bourne Shell而来)。

        source的程序主体是bash,脚本中的$0变量的值是bash,而且由于作用于当前bash环境,脚本中set的变量将直接起效

    2 sh, bash的命令用法:

         sh/bash FileName

         作用:打开一个子shell来读取并执行FileName中命令。该filename文件可以无"执行权限"

         注:运行一个shell脚本时会启动另一个命令解释器.

             每个shell脚本有效地运行在父shell(parent shell)的一个子进程里.

                这个父shell是指在一个控制终端或在一个xterm窗口中给你命令指示符的进程.

             shell脚本也可以启动他自已的子进程.

                这些子shell(即子进程)使脚本并行地,有效率地地同时运行脚本内的多个子任务.

        在ubuntu中sh只是bash的一个链接。

        由于是在子shell中执行,脚本设置的变量不会影响当前shell。

    3、./的命令用法:

         ./FileName

         作用:打开一个子shell来读取并执行FileName中命令。该filename文件需要"执行权限"

         注:运行一个shell脚本时会启动另一个命令解释器.

             每个shell脚本有效地运行在父shell(parent shell)的一个子进程里.

                这个父shell是指在一个控制终端或在一个xterm窗口中给你命令指示符的进程.

             shell脚本也可以启动他自已的子进程.

                这些子shell(即子进程)使脚本并行地,有效率地地同时运行脚本内的多个子任务.

        由于是在子shell中执行,脚本设置的变量不会影响当前shell。


    二、第一个最常见的修改环境变量的命令:

    export 功能说明:设置或显示环境变量。
    语  法:export [-fnp][变量名称]=[变量设置值]
    补充说明:在shell中执行程序时,shell会提供一组环境变量。export可新增,修改或删除环境变量,供后续执行的程序使用。export的效力仅限于该次登陆操作。
    参  数:
     -f  代表[变量名称]中为函数名称。
     -n  删除指定的变量。变量实际上并未删除,只是不会输出到后续指令的执行环境中。
     -p  列出所有的shell赋予程序的环境变量。

    扩展:

    set:显示(设置)shell变量 包括的私有变量以及用户变量,不同类的shell有不同的私有变量 bash,ksh,csh每中shell私有变量都不一样

    env:显示(设置)用户变量变量

    export:显示(设置)当前导出成用户变量的shell变量。

    使用unset命令来清除环境变量,注意set env  export设置的变量,都可以用unset来清除的

    使用readonly命令设置只读变量

    最根本的设置、更改变量的配置文件 ~/.bash_profile   ~/.bashrc   ~/.bash_logout

    ~/.bash_profile  用户登录时被读取,其中包含的命令被执行

    ~/.bashrc  启动新的shell时被读取,并执行

    ~/.bash_logout  shell 登录退出时被读取


    三、Bash shell的初始化过程

    shell(这里指bash)的初始化过程是这样的:

    1.bash 检查文件/etc/profile 是否存在

    2. 如果存在,bash 就读取该文件,否则,跳过

    3.bash 检查主目录下的文件.bash_profile 是否存在。

    4. 如果存在,bash 就读取該文件,否则,跳过

    5.bash 检查主目录下的.bash_login 是否存在。

    6. 如果存在,bash 就读取该文件,否则,跳过

    7.bash 检查主目录下的文件.profile 是否存在

    8. 如果存在, bash 就读取该文件,否则,跳过。

    这些步骤都执行完后,就出现提示符了, ksh 默认提示符是 $.


    四、shell命令里常见的参数与运算符:

    -e filename  filename存在,则真
    -d filename  filename目录则真 
    -f filename  filename常规文件,则真
    -L filename  filename符号链接则真
    -r filename  filename可读则真 
    -w filename  filename可写则真 
    -x filename  filename可执行则真
    -s filename 文件长度0则真
    -h filename 文件软链接则真
    filename1 -nt filename2  filename1比 filename2新则真
    filename1 -ot filename2  filename1比 filename2旧则真
    -eq 等于
    -ne 不等于
    -gt 大于
    -ge 大于等于
    -lt 小于
    -le 小于等于
    至于!号取非呗
    

    五、常见的shell变量

    PATH 这个变量包含了一系列由冒号分隔开的目录,系统就从这些目录里寻找可执行文件。如果你输入的可执行文件(例如ls、rc-update或者emerge) 不在这些目录中,系统就无法执行它(除非你输入这个命令的完整路径,如/bin/ls)。  
    ROOTPATH 这个变量的功能和PATH相同,但它只罗列出超级用户(root)键入命令时所需检查的目录。  
    LDPATH 这个变量包含了一系列用冒号隔开的目录,动态链接器将在这些目录里查找库文件。 
    MANPATH 这个变量包含了一系列用冒号隔开的目录,命令man会在这些目录里搜索man页面。  
    INFODIR 这个变量包含了一系列用冒号隔开的目录,命令info将在这些目录里搜索info页面。  
    PAGER 这个变量包含了浏览文件内容的程序的路径(例如less或者more)。  
    EDITOR 这个变量包含了修改文件内容的程序(文件编辑器)的路径(比如nano或者vi)。  
    KDEDIRS 这个变量包含了一系列用冒号隔开的目录,里面放的是KDE相关的资料。 
    CONFIG_PROTECT 这个变量包含了一系列用空格隔开的目录,它们在更新的时候会被Portage保护起来。 
    CONFIG_PROTECT_MASK 这个变量包含了一系列用空格隔开的目录,它们在更新的时候不会被Portage保护起来。

     

    PATH:决定了shell将到哪些目录中寻找命令或程序
    HOME:当前用户主目录
    MAIL:是指当前用户的邮件存放目录。
    SHELL:是指当前用户用的是哪种Shell。
    HISTSIZE:是指保存历史命令记录的条数
    LOGNAME:是指当前用户的登录名。 
    HOSTNAME:是指主机的名称,许多应用程序如果要用到主机名的话,通常是从这个环境变量中来取得的。
    LANG/LANGUGE:是和语言相关的环境变量,使用多种语言的用户可以修改此环境变量。 
    PS1:是基本提示符,对于root用户是#,对于普通用户是$。
    PS2:是附属提示符,默认是“>”。可以通过修改此环境变量来修改当前的命令符,比如下列命令会将提示符修改成字符串“Hello,My NewPrompt :) ”。 
    # PS1=" Hello,My NewPrompt :) "

    展开全文
  • 为了连网方便,我将iNode的快捷方式放在Ubuntu系统的桌面上了(如下图)。但是,每次开机需要连网时,我需要打开软件,然后要选择不同的按钮进行单击,非常麻烦。本文通过xdotool鼠标控制工具和shell脚本实现仅仅一...
  • ubuntu shell编程基础篇

    万次阅读 2011-10-28 09:41:05
    1. Linux 脚本编写基础 1.1 语法基本介绍 1.1.1 开头 程序必须以下面的行开始(必须方在文件的第一行)...(可以运行echo $SHELL来看你的系统是使用那一类shell, 比如ubuntu使用的是/bin/bash,则第一行写成#
  • Linux编写shell脚本执行多个命令

    千次阅读 2020-06-06 10:39:28
    Linux下编写shell脚本批量执行多个命令
  • Ubuntu构建一简单基本脚本

    千次阅读 2019-03-17 20:39:23
    但有时候我们需要输入多个命令,并处理多个命令的结果,甚至需要将一个命令的结果传给另一个命令,因此我们需要用到shell脚本,将多个命令串联起来。在shell中如果想要两个命令一起运行,可以把它们放在同一行,同时...
  • 我现在安装软件,会跳出5安装类型让我选择,选择好回车后,又要输入系统的配置,这过程如何通过脚本实现
  • - 因为Linux安装软件的方式比较,所以没有一通用的办法能查到某些软件是否安装了。总结起来就是这样几类:1、rpm包安装的,可以用rpm -qa看到,如果要查找某软件包是否安装,用 rpm -qa | grep “软件或者包的...
  • Ubuntu shell脚本:bash / dash

    千次阅读 2013-04-24 16:39:27
    编写shell脚本时,指定脚本类型,如#!/bin/bash #!/bin/dash #!/bin/sh, 不同的shell支持不同语法/特性。 在ubuntu下: ...lrwxrwxrwx 1 root root 4 7月 10 2012 /bin/sh -> ...一个shell脚本执行时采用何种she
  • shell脚本批量ping一网段ip

    千次阅读 2018-08-01 13:54:41
    #!/bin/bash ...for i in {1..254} #一网段ip数 do HOST=192.168.10.$i  ping -c 2 $HOST &amp;&gt;/dev/null #ping 2 次 将全部结果丢进“黑洞“ if [ $? -eq 0 ];then #...
  • gnome-terminal(是一种模拟终端器,一说是ubuntu的terminal就叫gnome-terminal)命令用于打开一新的终端,直接在命令行 $ gnome-terminal 就可以打开一新的终端,有一些常用参数: 打开后自动最大化 $ gnome-...
  • 现象: shell脚本中source aaa.sh时提示 source: not found 原因: ls -l `which sh` 提示/bin/sh -> dash 这说明是用dash来进行解析的。 改回方法:  命令行执行:sudo dpkg-...
  • Ubuntu 18.04 设置开机自动执行脚本

    千次阅读 2019-08-06 09:11:54
    Ubuntu18.04 默认是没有 /etc/rc.local 这文件的,需要自己创建 systemd 默认读取 /etc/systemd/system 下的配置文件,该目录下的文件会链接/lib/systemd/system/下的文件。执行 ls /lib/systemd/system 你可以...
  • 压力测试shell脚本

    万次阅读 2012-02-28 17:25:03
    这个操作很麻烦,这里写了个shell脚本,对apache的ab做了封装,只要传入指定的测试次数,自动进行,测试完成后返回平均的rps,以及最高和最低rps。  下面的脚本需要把ab_dir的值换成自己的ab的目录,具体的参数有...
  • shell脚本格式转换

    千次阅读 2016-11-14 00:04:30
    初学shell编程的研发人员通常都会...其实错误的原因只有一就是格式问题,在windows下编辑出的shell脚本格式为dos格式,而linux只能执行格式为unix格式的脚本。因为在dos/window下按一次回车键实际上输入的是“回车(C
  • Ubuntu 16.04 下学习 shell 脚本编程。使用以下脚本截取字符串的子串,#!/bin/bash string='abcd' echo ${#string} sss='runoooooob is a great site' echo ${sss:1:4} terminal 输入: sh string_test.sh...
  • node server.js& ##主要就是这&,不然shell脚本会被挂起无法执行下面的ionic命令 cd .. ionic serve 如果nodejs被挂起,且无法找到的话.可试试下面命令: ps -ax |grep node找到相应的pid,比如18834然后`kill 18834`...
1 2 3 4 5 ... 20
收藏数 32,556
精华内容 13,022
关键字:

ubnutu安装多个shell脚本