linux的java运维基本shell脚本编写(linux shell命令学习笔记)

if else的判断,判断文件是否存在,判断数字大小。下面是shell脚本

#判断文件是否存在 且是否是文件
if [ -f test2.sh ]; then
	echo "file exist"
else 
	echo "file does not exist "
fi

#判断文件是否存在 且是否是文件
if [ -f test.sh ]; then
	echo "是文件"
fi

#键盘输入内容
echo -n "plese input a number "
read num
#判断输入内容的数字大小
if [ "$num" -lt "10" ]; then
	echo "little 10"
elif [ "$num" -gt "10" ]; then
	echo "great 10"
else 
	echo "nicai"
fi

修改文件名字

mv central.war09 central.war

找到正在运行的war包的进程,然后结束该进程。“|”表示一个管道的意思,可以理解为东西从管s道的一边流向另外一边。

ps -ef | grep central.war

kill -9 pid
运行jar文件
java -jar central.jar

一个xxx.sh脚本文件,要求是输出某个文件夹下一个文件内容到命令行界面。tail -n 表示尾部输入多少行,这里表示的是从尾部倒数10行

#!/bin/sh
cd /home/chenrui/Documents/my_shell
tail -n 10 test.sh

 

终端输出内容 输入到指定文件下

一个xxx.sh脚本文件,sh脚本中的命令可能会往终端中输出内容,现在的要求是sh脚本继续执行,输出的内容不需要向终端输出,输出到指定的文件夹内。

在shell命令中,通常会出现类似这样子的命令:1>&22>&12>1>,那么这些数字的意思是下面黑体字。

0 为stdin标准输入

1 stdout标准输出  

2 stderr标准错误 //输出一些错误的信息

&>error.log 表示是把标准输出和错误输出都输入到文件error.log中;
1>&2 意思是把标准输出重定向到标准错误;
2>&1 意思是把标准错误输出重定向到标准输出。

如ls某个不存在的文件

chenrui@ubuntu:~/Documents/my_shell$ ls hahah
ls: cannot access 'hahah': No such file or directory

那么使用

chenrui@ubuntu:~/Documents/my_shell$ ls haha 2>error.log

此刻查看error.log内容," 2>error.log " 是表示把错误的内容输出到error.log里了。

chenrui@ubuntu:~/Documents/my_shell$ more error.log 
ls: cannot access 'haha': No such file or directory

同理,如果要是正确的内容输入到error.log里去 2>error.log是输入不进去,直接在终端显示了。不信你可以试试,哈哈,试一下吧(篇幅有限我不能再填上去了)

在sh中运行jar包,然后把jar中的控制台输出输出到指定文件内

jarPath=/home/chenrui/java/
cd $jarPath

java -jar xxxx.jar >> error.log 2>&1

执行这个sh文件后,可以看到终端不允许你继续操作下条指令。需要在java -jar xxxx.jar >> error.log 2>&1的后面再加一个&符号就行了。java -jar xxxx.jar >> error.log 2>&1 &

如果存在错误 email me: [email protected]

猜你喜欢

转载自blog.csdn.net/Hello_Ray/article/details/82757854
今日推荐