发表于: 2020-07-05 21:00:16

1 1304


shell 一款命令语言

图形界面shel或者命令行式shell

交互式和非交互式shell


重启

#在shell脚本的开头往往有一句话来定义使用哪种sh解释器来解释脚本。

#!/bin/bash  

tomcat_home=/local/kencery/tomcat

SHUTDOWN=$tomcat_home/bin/shutdown.sh

STARTTOMCAT=$tomcat_home/bin/startup.sh

case $1 in

start)

echo "启动$tomcat_home"

$STARTTOMCAT

;;

stop)

echo "关闭  $tomcat_home"

PID=`ps aux | grep $tomcat_home |grep java | awk '{print $2}'`

  if [ -n "$PID" ]; then

echo "will kill tomcat:$PID"

sh "$tomcat_home/shutdown.sh"

sleep 6

else echo "No Tomcat Process $PID"

  fi

PID2=`ps aux | grep $tomcat_home | grep java |awk '{print $2}'`

  if [ -n "$PID2" ]; then

kill -9 $PID2

echo "Try to kill $PID2"

else echo "No Tomcat Process $PID2"

  fi

;;

restart)

echo "关闭$tomcat_home"

$SHUTDOWN

#grep -v "grep" 在文档中过滤掉包含有grep字符的行

pidlist=`ps -ef |grep tomcat  |grep -v "grep"|awk '{print $2}'`

kill -9 $pidlist

sleep 5

echo "启动$tomcat_home"

$STARTTOMCAT

;;

esac



部署脚本


#!/bin/bash

tomcat_home=/local/kencery/tomcat

SHUTDOWN=$tomcat_home/bin/shutdown.sh

STARTTOMCAT=$tomcat_home/bin/startup.sh

war=$1

#获取当前的目录

if [ ! -n "${war}" ]; then

    echo "***Usage: $0 [project.war]"

    exit 0

fi

if [ ! -f "${war}" ]; then

    echo "***Error: ${war} does not exist."

    exit 0

fi

if [ ! "${war##*.}" = "war" ]; then

    echo "***Error: ${war} is not a war file."

    exit 0

fi

echo "Deploy ${war##*/}..."

rm -rf /local/kencery/tomcat/webapps/czm/ && unzip -qo ${war} -d /local/kencery/tomcat/webapps/czm/

echo "Restart tomcat..."

$SHUTDOWN

pidlist=`ps -ef |grep tomcat  |grep -v "grep"|awk '{print $2}'`

kill -9 $pidlist

rm  $tomcat_home/work/* -rf

sleep 5

echo "启动$tomcat_home"

$STARTTOMCAT


扩展

 awk怎么使用<br>

            1.awk '{[pattern] action}' {filenames}   # 行匹配语句 awk '' 只能用单引号<br>

            2.awk -F  #-F相当于内置变量FS, 指定分割字符

 ps -ef和ps -aux的区别

             ps -ef 是用标准的格式显示java这个进程

             ps-ef执行出来是这样的:UID PID PPID C STIME TTY TIME CMD

             ps aux 是用BSD的格式来显示 java这个进程

             ps -aux执行出来是:USER , PID , %CPU , %MEM , VSZ , RSS , TTY , STAT , START , TIME , COMMAND


innux怎么给脚本授权?

在当前路径下输入

chmod 777 脚本名

给脚本授权,

然后就可以执行脚本

./脚本名

 

还有什么权限

777 是最高权限,有读、写、执行权限;和属组用户和其他用户的读、写、执行权限。

-rw------- (600) -- 只有读写权限。

-rw-r--r-- (644) -- 只有有读写权限;而属组用户和其他用户只有读权限。

-rwx------ (700) -- 只有有读、写、执行权限。

-rwxr-xr-x (755) -- 有读、写、执行权限;而属组用户和其他用户只有读、执行权限。

-rwx--x--x (711) -- 有读、写、执行权限;而属组用户和其他用户只有执行权限。

 

vim和vi有什么区别?

它们都是多模式编辑器,不同的是vim 是vi的升级版本,它不仅兼容vi的所有指令,而且还有一些新的特性在里面。

vim的这些优势主要体现在以下几个方面:

1、多级撤消

我们知道在vi里,按 u只能撤消上次命令,而在vim里可以无限制的撤消。

2、易用性

vi只能运行于unix中,而vim不仅可以运行于unix,windows ,mac等多操作平台。

3、语法加亮

vim可以用不同的颜色来加亮你的代码。

4、可视化操作

就是说vim不仅可以在终端运行,也可以运行于x window、 mac os、 windows。

5、对vi的完全兼容

某些情况下,你可以把vim当成vi来使用。

vi和vim都是Linux中的编辑器,不同的是vim比较高级,可以视为vi的升级版本。vi使用于文本编辑,但是vim更适用于coding。 

vi有3个模式:插入模式、命令模式、低行模式。 

插入模式:在此模式下可以输入字符,按ESC将回到命令模式。 

命令模式:可以移动光标、删除字符等。 

低行模式:可以保存文件、退出vi、设置vi、查找等功能(低行模式也可以看作是命令模式里的)。

明日计划 继续任务2后面


返回列表 返回列表
评论

    分享到