linux寫腳本shell

netstat -tunlp |grep         查看端口被端口那個
cat /etc/rsyslog.conf | grep ^[^#]   

export設置或顯示環境變量  export key=value

#vi /etc/profile   永久生效  source ...

# echo $PATH  獲取變量值 

使用env查看所有環境變量

'{print $2}'   ''中間代表一條命令

$0是腳本本身的名稱  $1是傳遞給shell腳本的第一個參數

 

#!/bin/bash  使用#!用來表明我們的程序是用bash(這裏用的)來執行

echo $PATH

chmod 777 xx.sh 加權限   ./xx.sh 運行腳本

 

case $變量名 in    case "$1" in
 模式1)
 命令序列1
 ;;
 模式2)
 命令序列2
 ;; 
 *)
 默認執行的命令序列      不加參數執行這個 
 ;; 
esac 

nohup java -jar $EUREKA >/dev/null 2>&1 &  

nohup退出不終止  &代表後臺運行    2>&1 的意思就是將標準錯誤重定向到標準輸出

EUREKA_pid=`lsof -i:$EUREKA_port|grep "LISTEN"|awk '{print $2}'`

lsof 是一個列出當前系統打開文件的工具

awk就是把文件逐行的讀入,以空格爲默認分隔符將每行切片,切開的部分再進行各種分析處理

print $2 : 打印第二個字段

until [ -n "$EUREKA_pid" ]   do done

until循環將反覆執行直到條件爲真就結束循環    

-n str,字符串不爲null,長度大於零

 

P_ID=`ps -ef | grep -w $EUREKA | grep -v "grep" | awk '{print $2}'`

ps -ef 和ps aux 兩者沒太大差別 

-w :被匹配的文本只能是單詞,而不能是單詞中的某一部分  https://www.cnblogs.com/flyor/p/6411140.html

-v :反過來(invert),只打印沒有匹配的,而匹配的反而不打印

 

if [ "$P_ID" == "" ]; then

elif list then

else 

fi結束

 

$0 stop 執行此腳本
sleep 2 延遲<n>秒

 

 

文件權限chmod 這裏總共會有10個“-”,第一個表示文件類型,如該文件是文件(-表示),文件夾(d表示),連接文件(l表示),後面9個按照三個一組分,如:-rwxrwx--- 770權限表示此文件(文件夾)的擁有着和同組用戶有讀寫及執行權限,其他用戶組沒任何權限就是前面三個表示所有者權限,中間三個表示同組用戶權限,最後一組表示其他用戶權限  r4 w3 x1

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章