写好shell脚本的13个技巧【转】】的更多相关文章

有多少次,你运行./script.sh,然后输出一些东西,但却不知道它刚刚都做了些什么.这是一种很糟糕的脚本用户体验.我将在这篇文章中介绍如何写出具有良好开发者体验的 shell 脚本. 产品的最终用户通常不懂技术,所以不管你怎么折腾产品代码都无所谓.但脚本代码不一样,它们是开发人员写给开发人员的. 这样会导致一些问题: 混乱的脚本——我知道,我们都是工程师,读得懂代码,但即使这样,也请为我们这些对 Shell 脚本不是很熟练的人考虑一下(我们在写代码时也会为你们考虑的). 满屏的日志和错误输出…
以前更新网站程序都是手动噼里啪啦敲代码,即麻烦又慢,还神经紧张.终于忍不住写个shell脚本.   cd /usr/local/tomcat7/apache-tomcat-9.0.0.M4/ bin/shutdown.sh kill -9 $(pgrep -f tomcat) rm -rf webapps/* mv ROOT.war webapps bin/startup.sh…
#!/bin/bash #auto make install httpd #by authors baker95935 #httpd define path variable H_FILES=httpd-.tar.bz2 H_FILES_DIR=httpd- H_URL=http://mirrors.shuosc.org/apache/httpd/ H_PREFIX=/usr/local/apache2/ if [ -Z "$1" ];then echo -e "\033[3…
今天,大数据部老大交给我一项任务——抓取股票历史数据.于是乎,我自行在网上找了一下,发现wget真真是一个非常强大的linux下载工具.我已经被深深震撼到了.下面叙述今天的一些过程,还是比较坎坷的. 首先,我利用公司现在存在的股票数据,使用hive查询所有的股票代码并导入本地: hive -e "use stock;select distinct secucode from t_stock_tick_shsz where type='sz';" >> sz_secucode…
1问题:Linux和windows下的回车换行符不兼容的问题 [root@node-01 script]# sh start_zk.sh art_zk.sh: line 3: syntax error near unexpected token `do'tart_zk.sh: line 3: `do 2.展示信息: 此处我贴出了源码;大家可以试一试: #!/bin/shfor host in node-01 node-02 node-03do ssh $host "source /etc/pro…
[转载请注明]: 原文出处:https://www.cnblogs.com/jstarseven/p/11399251.html    作者:jstarseven    码字挺辛苦的.....  说明:java程序部署是简单的,尤其是springboot普遍化使用以后,很多应用均采用jar方式部署 启动方式: 1.前台启动> java -jar *.jar 2.后台启动> nohup java -jar *.jar >nohup.out 2>&1 &    但是每次…
首先,一键启动的shell脚本是这样的 #! /bin/bash case $1 in "start"){ for i in node01 node02 node03 do ssh $i "/opt/module/zookeeper-3.4.5-cdh5.14.0/bin/zkServer.sh start" done };; "stop"){ for i in node01 node02 node03 do ssh $i "/opt/…
Shell在编程方面比Windows批处理强大很多,无论是在循环.运算. bash支持一维数组(不支持多维数组),并且没有限定数组的大小.类似与C语言,数组元素的下标由0开始编号.获取数组中的元素要利用下标,下标可以是整数或算术表达式,其值应大于或等于0. 定义数组 在Shell中,用括号来表示数组,数组元素用“空格”符号分割开.定义数组的一般形式为:     array_name=(value1 ... valuen) 例如: array_name=(value0 value1 value2…
服务器上必须安装了git maven jdk 并且配置好环境变量 实际服务器中可能运行着多个Java进程,所以重新部署的时候需要先停止原来的java进程,写一个按照名称杀死进程的脚本 kill.sh #!/bin/sh function PidFind()   {   PIDCOUNT=`ps -ef | grep $1 | grep -v "grep" | grep -v $0 | awk '{print $2}' | wc -l`;   if [ ${PIDCOUNT} -gt 1…
#!/bin/bash ip_mod=$ mask_mod=$ gw_mod=$ dns_mod=$ hostname_mod=$ hosts=/etc/hosts ifcfg=/etc/sysconfig/network-scripts/ifcfg-eth1 network=/etc/sysconfig/network resolv=/etc/resolv.conf hwaddr=`grep -i HWADDR $ifcfg|awk -F "=" '{print $2}'` # mo…