
linxu下�.shå½ä»¤ç¸å½äºæ¯shellå½ä»¤è¯è¨çè§£éå¨ãä¸é¢ç±æä¸ºå¤§å®¶æ´çäºlinuxçshå½ä»¤ç详ç»è§£éçç¸å ³ç¥è¯ï¼å¸æå¯¹å¤§å®¶æå¸®å©!
ä¸ãLinuxä¸çshå½ä»¤ç详ç»è§£é
shå½ä»¤æ¯shellå½ä»¤è¯è¨è§£éå¨ï¼æ§è¡å½ä»¤ä»æ åè¾å ¥è¯»åæä»ä¸ä¸ªæä»¶ä¸è¯»åãéè¿ç¨æ·è¾å ¥å½ä»¤ï¼åå æ ¸è¿è¡æ²é!Bourne Again Shell (å³bash)æ¯èªç±è½¯ä»¶åºéä¼(GNU)å¼åçä¸ä¸ªShellï¼å®æ¯Linuxç³»ç»ä¸ä¸ä¸ªé»è®¤çShellãBashä¸ä½ä¸Bourne Shellå ¼å®¹ï¼è¿ç»§æ¿äºC ShellãKorn Shellçä¼ç¹ã
è¯æ³
bash [options] [file]
é项
-c stringï¼å½ä»¤ä»-cåçå符串读åã
-iï¼å®ç°èæ¬äº¤äºã
-nï¼è¿è¡shellèæ¬çè¯æ³æ£æ¥ã
-xï¼å®ç°shellèæ¬éæ¡è¯å¥çè·è¸ªã
äºãLinuxä¸çshå½ä»¤çå ·ä½ä¾å
使ç¨-xé项è·è¸ªèæ¬è°è¯shellèæ¬ï¼è½æå°åºææ§è¡çæ¯ä¸è¡å½ä»¤ä»¥åå½åç¶æï¼
[root@AY1307311912260196fcZ satools]# sh -x check_ssh_login.sh
+ DEFINE=30
+ cat /var/log/secure
+ awk '/Failed/ {++ip[$(NF-3)]} END {for (i in ip) print i"="ip[i]}'
++ cat /root/satools/black.txt
+ for i in '`cat /root/satools/black.txt`'
++ echo 121.42.0.16=1427
++ awk -F= '{print $1}' + IP=121.42.0.16
++ echo 121.42.0.16=1427
++ awk -F= '{print $2}'
+ NUM=1427
+ '[' 1427 -gt 30 ']'
+ grep 121.42.0.16 /etc/hosts.deny
+ '[' 1 -gt 0 ']'
+ echo sshd:121.42.0.16
+ echo vsftpd:121.42.0.16
+ for i in '`cat /root/satools/black.txt`'
++ echo 121.42.0.72=276
++ awk -F= '{print $1}'
+ IP=121.42.0.72
++ awk -F= '{print $2}'
++ echo 121.42.0.72=276
+ NUM=276 + '[' 276 -gt 30 ']'
+ grep 121.42.0.72 /etc/hosts.deny
+ '[' 1 -gt 0 ']'
+ echo sshd:121.42.0.72
+ echo vsftpd:121.42.0.72
ä¸ãLinuxä¸å¯¹.shæä»¶çæä½å½ä»¤
1ãå建test.shæä»¶
touch test.sh
2ãç¼è¾shæä»¶
vi test.sh
3ãä¿åéåº
æ²å»escï¼ ç¶åè¾å ¥ :wq ï¼å车éåº
4ãæ·»å 坿§è¡æéï¼å½ç¶é»è®¤å°±æ¯å¯æ§è¡çã
chmod +x test.sh
5ãè¿è¡æä»¶
(1)./test.sh
(2)sh test.sh
6ãå 餿件
rm test.sh
linux创建不可被关闭的程序1、在需要运行程序的位置创建一个 process.sh 文件
使用 vim ./process.sh 命令点开编辑
将下面脚本复制到文件中保存
#!/bin/bash
#这里可替换为你自己的执行程序,其他代码无需更改
APP_NAME=./backend-1.8.0.jar
#使用说明,用来提示输入参数。如:./process.sh restart
usage() {
echo "Usage: sh 执行脚本.sh [start|stop|restart|status]"
exit 1
}
#检查程序是否在运行
is_exist(){
pid=`ps -ef|grep $APP_NAME|grep -v grep|awk '{print $2}' `
#如果不存在返回1,存在返回0
if [ -z "${pid}" ]then
return 1
else
return 0
fi
}
#启动方法
start(){
is_exist
if [ $? -eq "0" ]then
echo "${APP_NAME} is already running. pid=${pid} ."
else
#不输出日志
#nohup java -jar $APP_NAME >/dev/null 2>&1 &
#输出日志
nohup java -jar $APP_NAME >processes.log 2>&1 &
fi
}
#停止方法
stop(){
is_exist
if [ $? -eq "0" ]then
kill -9 $pid
else
echo "${APP_NAME} is not running"
fi
}
#输出运行状态
status(){
is_exist
if [ $? -eq "0" ]then
echo "${APP_NAME} is running. Pid is ${pid}"
else
echo "${APP_NAME} is NOT running."
fi
}
#重启
restart(){
stop
start
}
#根据输入参数,选择执行对应方法,不输入则执行使用说明
case "$1" in
"start")
start
"stop")
stop
"status")
status
"restart")
restart
*)
usage
esac
登录后复制
2、使用 chmod 777 process.sh 为文件授权
3、
./process.sh start 开启程序
./process.sh restart重启程序
./process.sh stop 关闭程序
./process.sh status 查看状态
在linux中编写一个*.sh的文件提示找不到命令是设置错误造成的,解决方法为:
1、下载您要安装的软件。必要的文件通常将被压缩为.tar,.tgz或.zip文件。
2、打开一个终端窗口。输入cd ~/path/to/the/extracted/folder并按 Enter。用包含install.sh文件的文件夹的完整路径替换“ path / to / the / extracted / folder”。
3、输入chmod +x install.sh并按 Enter。如果安装程序的名称不是“ install.sh”,则键入其名称。这使安装程序文件可执行。您将不会从该命令中看到任何确认消息。
4、输入sudo bash install.sh并按 Enter。同样,如有必要,请用.sh文件的名称替换“ install.sh”。
5、输入root密码,然后按 Enter。这将开始安装您的应用程序。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)