shell脚本实例

[转]ubuntu 环境变量设置方法

孤者浪人 提交于 2019-11-30 22:06:48
环境变量配置文件 在Ubuntu中有如下几个文件可以设置环境变量 1、/etc/profile:在登录时,操作系统定制用户环境时使用的第一个文件,此文件为系统的每个用户设置环境信息,当用户第一次登录时,该文件被执行。 2、/etc/environment:在登录时操作系统使用的第二个文件,系统在读取你自己的profile前,设置环境文件的环境变量。 3、~/.bash_profile:在登录时用到的第三个文件是.profile文件,每个用户都可使用该文件输入专用于自己使用的shell信息,当 用户登录时,该 文件仅仅执行一次!默认情况下,他设置一些环境变游戏量,执行用户的.bashrc文件。/etc/bashrc:为每一个运行bash shell的用户执行此文件.当bash shell被打开时,该文件被读取. 4、~/.bashrc:该文件包含专用于你的bash shell的bash信息,当登录时以及每次打开新的shell时,该该文件被读取。 5. /etc/rc.local:自动执行的脚本 几个环境变量的优先级 1>2>3 设置永久环境变量 1.环境变量配置中,要先删除.bash_profile中的三行关于.bashrc的定义,然后把环境变量配置在.bashrc中 2.选择要使用的java环境:update-alternatives –config java 3

Shell 传递参数

半世苍凉 提交于 2019-11-30 07:57:15
以下实例我们向脚本传递三个参数,并分别输出,其中 $0 为执行的文件名: #!/bin/bash # author:菜鸟教程 # url:www.runoob.com echo "Shell 传递参数实例!"; echo "执行的文件名:$0"; echo "第一个参数为:$1"; echo "第二个参数为:$2"; echo "第三个参数为:$3"; 为脚本设置可执行权限,并执行脚本,输出结果如下所示: $ chmod +x test.sh $ ./test.sh 1 2 3 Shell 传递参数实例! 执行的文件名:./test.sh 第一个参数为:1 第二个参数为:2 第三个参数为:3 参数处理 说明 $# 传递到脚本的参数个数 $* 以一个单字符串显示所有向脚本传递的参数。 如"$*"用「"」括起来的情况、以"$1 $2 … $n"的形式输出所有参数。 $$ 脚本运行的当前进程ID号 $! 后台运行的最后一个进程的ID号 $@ 与$*相同,但是使用时加引号,并在引号中返回每个参数。 如"$@"用「"」括起来的情况、以"$1" "$2" … "$n" 的形式输出所有参数。 $- 显示Shell使用的当前选项,与 set命令 功能相同。 $? 显示最后命令的退出状态。0表示没有错误,其他任何值表明有错误。 #!/bin/bash # author:菜鸟教程 # url:www

MongoDB的Shell操作

纵然是瞬间 提交于 2019-11-30 02:15:29
前言 本文从介绍了MongoShell 的配置、脚本、数据类型和其他指令。 MongoShell - 简介 MongoShell是一个互动的JavaScript接口的MongoDB,可以使用MongoShell来查询和更新数据以及执行管理操作。 MongoShell是MongoDB发行版的一个组件, 安装并启动MongoDB后,将MongoShell连接到正在运行的MongoDB实例,MongoDB手册中的大多数示例使用 MongoShell,然而,许多驱动程序也提供了与MongoDB类似的接口。 启动MongoShell: 在启动MongoShell之前请确保MongoDB 实例在运行,在Terminal 中键入Mongo则可以直接启动。 示例代码: ➜ ~ mongo MongoDB shell version v3.4.3 connecting to: mongodb://127.0.0.1:27017 MongoDB server version: 3.4.3 Server has startup warnings: 2017-10-19T10:41:29.922+0800 I CONTROL [initandlisten] 2017-10-19T10:41:29.923+0800 I CONTROL [initandlisten] ** WARNING: Access

Shell脚本应用 – for、while循环语句

梦想与她 提交于 2019-11-29 23:27:18
通过 Shell 脚本 应用(二)学习到了if条件条件语句的使用方法等。 Shell 作为一种 脚本 编程语言,同样了包含了循环,分支等其他程序控制结构,从而能够轻松完成更加复杂、强大的功能。我们今天就来认识for、while、case语句的具体应用。 一、for循环语句 在实际工作中,经常会遇到某项任务需要多次执行的情况,而每次执行时仅仅是处理的对象不一样,其他 命令 相同。例如:根据通讯录中的姓名列表创建系统账号等情况。 当面对各种列表重复工作任务时,使用if语句已经不能满足需要了,就需要使用到for语句。 1.for语句结构 使用for循环语句时,需要指定一个变量及可能的取值列表,针对不同的取值重复执行相同的 命令 序列,知道变量值用完退出循环。 1)for循环语句的语法结构: for 变量名 in 取值列表 do 命令序列 done 语句结构中,for语句的操作对象为用户吧指定名称的变量,并通过in关键字为该变量预先设置了一个取值列表,多个取值之间用空格进行分隔。位于do……done之间的命令序列称为循环体,其中的执行语句需要应用变量以完成相应的任务。 2)for循环语句流程图 3)for循环语句的使用场景 1. 循环次数未知; 2.完整遍历整个取值列表。 2.for语句应用示例 要求: 1.根据姓名列表批量创建用户; 2.用户的初始密码是“123456” 实施步骤:

Shell脚本应用 – for、while循环语句

偶尔善良 提交于 2019-11-29 21:47:54
通过 Shell 脚本 应用(二)学习到了if条件条件语句的使用方法等。 Shell 作为一种 脚本 编程语言,同样了包含了循环,分支等其他程序控制结构,从而能够轻松完成更加复杂、强大的功能。我们今天就来认识for、while、case语句的具体应用。 一、for循环语句 在实际工作中,经常会遇到某项任务需要多次执行的情况,而每次执行时仅仅是处理的对象不一样,其他 命令 相同。例如:根据通讯录中的姓名列表创建系统账号等情况。 当面对各种列表重复工作任务时,使用if语句已经不能满足需要了,就需要使用到for语句。 1.for语句结构 使用for循环语句时,需要指定一个变量及可能的取值列表,针对不同的取值重复执行相同的 命令 序列,知道变量值用完退出循环。 1)for循环语句的语法结构: for 变量名 in 取值列表 do 命令序列 done 语句结构中,for语句的操作对象为用户吧指定名称的变量,并通过in关键字为该变量预先设置了一个取值列表,多个取值之间用空格进行分隔。位于do……done之间的命令序列称为循环体,其中的执行语句需要应用变量以完成相应的任务。 2)for循环语句流程图 3)for循环语句的使用场景 1. 循环次数未知; 2.完整遍历整个取值列表。 2.for语句应用示例 要求: 1.根据姓名列表批量创建用户; 2.用户的初始密码是“123456” 实施步骤:

shell脚本举例

会有一股神秘感。 提交于 2019-11-29 20:42:43
一、Shell编程实战收集服务器信息 在企业上产环境中,经常会对服务器资产进行统计存档,单台服务器可以手动去统计服务器的CPU型号、内存大小、硬盘容量、网卡流量等,如果服务器数量超过百台、千台,使用手工方式就变得非常吃力。 基于Shell脚本实现自动化服务器硬件信息的收集,并将收集的内容存放在数据库,能更快、更高效的实现对服务器资产信息的管理。Shell脚本实现服务器信息自动收集,编写思路如下: 创建数据库和表存储服务器信息; 基于Shell四剑客awk、find、sed、grep获取服务器信息; q 将获取的信息写成SQL语句; q 定期对SQL数据进行备份; q 将脚本加入Crontab实现自动备份; 创建数据库表,创建SQL语句如下: CREATE TABLE `audit_system` ( `id` int(11) NOT NULL AUTO_INCREMENT, `ip_info` varchar(50) NOT NULL, `serv_info` varchar(50) NOT NULL, `cpu_info` varchar(50) NOT NULL, `disk_info` varchar(50) NOT NULL, `mem_info` varchar(50) NOT NULL, `load_info` varchar(50) NOT NULL, `mark

Linux 脚本编写基础

蹲街弑〆低调 提交于 2019-11-29 12:23:51
1. Linux 脚本编写基础 1.1 语法基本介绍 1.1.1 开头 程序必须以下面的行开始(必须方在文件的第一行): #!/bin/sh   符号#!用来告诉系统它后面的参数是用来执行该文件的程序。在这个例子中我们使用/bin/sh来执行程序。   当编辑好脚本时,如果要执行该脚本,还必须使其可执行。   要使脚本可执行: 编译 chmod +x filename 这样才能用./filename 来运行 1.1.2 注释   在进行shell编程时,以#开头的句子表示注释,直到这一行的结束。我们真诚地建议您在程序中使用注释。 如果您使用了注释,那么即使相当长的时间内没有使用该脚本,您也能在很短的时间内明白该脚本的作用 及工作原理。 1.1.3 变量   在其他编程语言中您必须使用变量。在shell编程中,所有的变量都由字符串组成,并且您不需要对变量 进行声明。要赋值给一个变量,您可以这样写: #!/bin/sh #对变量赋值: a="hello world" # 现在打印变量a的内容: echo "A is:" echo $a 有时候变量名很容易与其他文字混淆,比如: num=2 echo "this is the $numnd" 这并不会打印出"this is the 2nd",而仅仅打印"this is the ",因为shell会去搜索变量numnd的值,

Shell脚本学习笔记

喜欢而已 提交于 2019-11-29 12:20:39
shell脚本 Linux 的 Shell 种类众多,常见的有: Bourne Shell(/usr/bin/sh或/bin/sh) Bourne Again Shell(/bin/bash) C Shell(/usr/bin/csh) K Shell(/usr/bin/ksh) Shell for Root(/sbin/sh) Bash也就是 Bourne Again Shell,由于易用和免费,Bash 在日常工作中被广泛使用。同时,Bash 也是大多数Linux 系统默认的 Shell 入门: 创建一个名字为Hello的shell脚本:vi Hello.sh (后缀名无所谓,sh是习惯) 运行shell脚本:sh 脚本名 变量: 创建 定义变量时,变量名不加美元符号($,PHP语言中变量需要),如:str="hello world!!" 使用变量需要在变量名钱加上$ 为了在开发中表示为变量的时候,会变成${str} 给变量二次赋值:str="" 不需要加上$和{} 创建只读变量:myUrl="http://www.google.com" readonly myUrl 如果尝试改变只读变量的话会报错 删除变量:unset variable_name 变量被删除后不能再次使用。unset 命令不能删除只读变量。 变量类型 运行shell时,会同时存在三种变量: 1)局部变量

Shell脚本一

隐身守侯 提交于 2019-11-29 10:34:59
1、ping局域网IP 脚本一 -------------------------------------------------------------------------------------------------- #!/bin/bash ip=1 while [ $ip != "254" ];do ping 192.168.14.$ip -c 1 | grep -q "ttl=" && echo "192.168.14.$ip yes" || echo "192.168.14.$ip no" ip=`expr "$ip" "+" "1"` done -------------------------------------------------------------------------------------------------- 脚本二 #!/bin/bash ip="192.168.14." for i in `seq 1 254` do ping -c 1 $ip$i | grep -q 'ttl=' && echo "$ip$i yes" || echo "$ip$i no" done ---------------------------------------------------------------------------------

shell学习2shell变量

痴心易碎 提交于 2019-11-29 09:03:21
2.1定义变量 a.定义变量时,变量名不加美元符号($,PHP语言中变量需要),如: your_name="runoob.com" 注意,变量名和等号之间不能有空格, 这可能和你熟悉的所有编程语言都不一样。 b.变量名的命名须遵循如下规则: 命名只能使用英文字母,数字和下划线,首个字符不能以数字开头。 中间不能有空格,可以使用下划线(_)。 不能使用标点符号。 不能使用bash里的关键字(可用help命令查看保留关键字)。 c.除了显式地直接赋值,还可以用语句给变量赋值,如: for file in `ls /etc` 或 for file in $(ls /etc) 以上语句将 /etc 下目录的文件名循环出来。 反引号:反引号中的内容当做命令运行,要用反引号'',或者用$()把命令括起来再赋值 2.2使用变量 a.使用一个定义过的变量,只要在变量名前面加美元符号即可,如: your_name="qinjx" echo $your_name echo ${your_name} 变量名外面的花括号是可选的,加不加都行,加花括号是为了帮助解释器识别变量的边界 ,比如下面这种情况: for skill in Ada Coffe Action Java; do echo "I am good at ${skill}Script" done 如果不给skill变量加花括号,写成echo