linux脚本

shell脚本编写之Hello World

烂漫一生 提交于 2019-11-30 02:38:44
Linux下编写第一个Shell脚本 //创建一个.sh文件 vi demo1.sh //按i进入编辑模式 echo "Hello World !" //按esc→shift+:→wq(保存退出) //先 ll 查看一下 ll //给刚创建的文件一个可执行权限 chmod +x demo1.sh //再ll,你会发现脚本变成了绿色,这时说明脚本可执行了 ll //执行脚本 ./demo1.sh //或者 sh demo1.sh //使用第二种方法执行可以不用给执行权限 来源: https://www.cnblogs.com/blackjoyful/p/11547061.html

Shell脚本自动重启Java服务

陌路散爱 提交于 2019-11-30 02:35:06
话不多说直接上代码: cd /home/javaProduct/if [ -d '/home/javaProduct/lib_new/' ]; thenecho 'Has New Lib!'echo '--------------Begin Stop JavaService----------------'edocid=$(jps |grep JavaService | awk '{print $1}')echo $edocidkill -9 $edocidecho '--------------Begin Move Lib------------------------'mv /home/javaProduct/lib/ /home/javaProduct/lib_prevecho '--------------End Move Lib--------------------------'echo '--------------Begin Move Lib_New--------------------'mv /home/javaProduct/lib_new/ /home/javaProduct/lib/echo '--------------End Move Lib_New----------------------'echo '--------------Begin

初入Shell

烈酒焚心 提交于 2019-11-30 02:34:42
shell 第 1 章 Shell 概述 大数据 程序员 为什么要 学习 Shell 呢?   1 ) 需要看懂运维人员 编写的Shell程序。   2) 偶尔会编写一些简单 Shell 程序 来管理集群、 提高开发效率 。    第 2 章 Shell 解析器   ( 1 ) Linux 提供的 Shell 解析器有: [atguigu@hadoop101 ~]$ cat /etc/shells /bin/sh /bin/bash /sbin/nologin /bin/dash /bin/tcsh /bin/csh   ( 2 ) bash 和 sh 的关系 [atguigu@hadoop101 bin]$ ll | grep bash -rwxr-xr-x. 1 root root 941880 5月 11 2016 bash lrwxrwxrwx. 1 root root 4 5月 27 2017 sh -> bash   ( 3 ) Centos/Ubutun 默认的 解析 器 是bash [atguigu@hadoop102 bin]$ echo $SHELL /bin/bash 第 3 章 Shell 脚本 入门 1 . 脚本格式 脚本以 #!/bin/bash 开头 (指定解析 器 ) 2 . 第一个 Shell 脚本 :helloworld ( 1 )需求:创建一个

shell实现SSH自动登陆

拟墨画扇 提交于 2019-11-30 01:50:04
前言 公司开发使用docker,每次登陆自己开发机总要输入 ssh user_name@ip_string ,然后再确认输入 password ,手快了还经常会输错。作为一个懒人,肯定要找一个取巧的方式,查看了下ssh命令,由于它要进行一次跟服务器的加密交互,所以没有直接附带密码登陆的选项,只好作罢。 前些天在同事进行技术分享时,看到他竟然只输入了一行命令 ./test.sh 就成功登陆了开发机,甚是惊异,于是回来搜索研究了一下,遂成此文。 shell脚本基础 在编写ssh自动登陆脚本之前,先说一下shell脚本的基础,此基础不是一些语法什么的,网上到处都是,这里总结了一下shell脚本的运行机制~ shell脚本的运行方式 首先要说一下shell的几种启动方式,正是踩了脚本启动的坑,才使用原来十分钟就搞定的脚本,花了两个小时才搞定。同时也使得我们运行shell,知其所以然。 通过文件名执行 shell脚本可以直接通过文件名执行,需要注意的是文件需要执行权限。通过 sudo chmod +x ./file_name.sh 来给文件添加执行权限; 指定脚本解释器来执行文件 我们常用的 sh file_name.sh 就是指定了脚本解释器 /bin/sh 来解释执行脚本;常见的脚本解释器还有: /bin/bash 等,我们可以使用 ls -l /bin/*sh

Linux Shell 脚本中字符串的连接方法

大憨熊 提交于 2019-11-30 00:37:00
51码农网 1.在shell脚本中输入: $value1=51 $value2=${value1}"manong" echo $value2 把要添加的字符串变量添加{},并且需要把$放到外面。 这样输出的结果是:51manong,也就是说连接成功。 2.看这一个,直接在linux命令行输入: [root@localhost sh]# var1=51 [root@localhost sh]# var2=manong [root@localhost sh]# var3=${var1}${var2} [root@localhost sh]# echo $var3 51manong 详情查看更多点击 微信公众号:51码农网 来源: https://blog.csdn.net/yunxiaoxiehou/article/details/100980730

linux中java进程启动脚本写法

房东的猫 提交于 2019-11-29 22:44:01
#!/bin/bash ulimit -n 65535 export LANG=en_US.UTF-8 /usr/java/jdk1.6.0_14/bin/java -cp "/deploy/netbar/netbar-dw/lib/activation-1.1.1.jar::/deploy/netbar/netbar-dw/classes/:" -server -Xms1024m -Xmx1024m -Xss128k -XX:+PrintGCDetails -XX:ParallelGCThreads=20 -XX:+UseConcMarkSweepGC -XX:+UseParNewGC netbar.dw.main.Run > /dev/null & #!/bin/bash ulimit -n 65535 export LANG=en_US.UTF-8 /usr/local/jdk1.7.0_75/bin/java -cp "/usr/local/services/crm-server/lib/*:/usr/local/services/crm-server/conf/:" -Xms512m -Xmx512m cn.p x.crm.thrift.server.Run > /dev/null & 加 > /dev/null 表示不再nohup中输出日志 带参数的话参数用$替换,从

CentOS6 Shell脚本/bin/bash^M: bad interpreter错误解决方法

老子叫甜甜 提交于 2019-11-29 21:54:29
在windows下保存了一个脚本文件,用ssh上传到centos,添加权限执行nginx提示没有那个文件或目录。 shell脚本放到/etc/init.d/目录下,再执行/etc/init.d/nginx,提示多了这句/bin/bash^M: bad interpreter。 网上找了资料才知道 如果这个脚本在Windows下编辑过,就有可能被转换成Windows下的dos文本格式了,这样的格式每一行的末尾都是以\r\n来标识,它的ASCII码分别是0x0D,0x0A。如果你将这个脚本文件直接放到Linux上执行就会报/bin/bash^M: bad interpreter错误提示。 解决方法很简单,首先你先要检查一下看看你的脚本文件是不是这个问题导致的,用vi命令打开要检查的脚本文件,然后用 :set ff? 命令检查一下,看看是不是dos字样,如果是dos格式的,继续执行 :set ff=unix 然后执行 :qw 保存退出即可。 来源: oschina 链接: https://my.oschina.net/u/1757414/blog/227003

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

使用Dockerfile脚本创建镜像

风格不统一 提交于 2019-11-29 19:34:55
步骤: (1)创建目录 mkdir –p /usr/local/dockerjdk8 (2)下载jdk-8u171-linux-x64.tar.gz并上传到服务器(虚拟机)中的/usr/local/dockerjdk8目录 (3)创建文件Dockerfile vi Dockerfile #依赖镜像名称和ID FROM centos:7 #指定镜像创建者信息 MAINTAINER ITCAST #切换工作目录 WORKDIR /usr RUN mkdir /usr/local/java #ADD 是相对路径jar,把java添加到容器中 ADD jdk-8u171-linux-x64.tar.gz /usr/local/java/ #配置java环境变量 ENV JAVA_HOME /usr/local/java/jdk1.8.0_171 ENV JRE_HOME $JAVA_HOME/jre ENV CLASSPATH $JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib:$CLASSPATH ENV PATH $JAVA_HOME/bin:$PATH (4)执行命令构建镜像 docker build -t='jdk1.8' . 注意后边的空格和点,不要省略 (5)查看镜像是否建立完成 docker images

shell脚本面试题-转

喜欢而已 提交于 2019-11-29 15:01:41
防止链接丢失,故转到自己的博客来 原地址链接 https://www.cnblogs.com/xiaohuhu/p/10725841.html Q:1 Shell脚本是什么、它是必需的吗? 答:一个Shell脚本是一个文本文件,包含一个或多个命令。作为系统管理员,我们经常需要使用多个命令来完成一项任务,我们可以添加这些所有命令在一个文本文件(Shell脚本)来完成这些日常工作任务。 Q:2 什么是默认登录shell,如何改变指定用户的登录shell 答:在Linux操作系统,“/bin/bash”是默认登录shell,是在创建用户时分配的。使用chsh命令可以改变默认的shell。示例如下所示: Q:3 可以在shell脚本中使用哪些类型的变量? 答:在shell脚本,我们可以使用两种类型的变量: 系统定义变量 用户定义变量 系统变量是由系统系统自己创建的。这些变量通常由大写字母组成,可以通过“set”命令查看。 用户变量由系统用户来生成和定义,变量的值可以通过命令“echo $<变量名>”查看。 Q:5 shell脚本中“if”语法如何嵌套? 答:基础语法如下: if [ 条件 ]; then 命令 elif [ 条件 ]; then 命令 else 命令 fi Q:8 shell脚本中break命令的作用 ? 答:break命令一个简单的用途是退出执行中的循环