shell的腳本的基本操作

1、獲取文件路徑

文件的路徑:/home/hadoop/apps/clientCanal/bin/start.sh

執行start.sh文件

./start.sh

 以下是start.sh的文件內容

#!/bin/bash

project_path=$(cd `dirname $0`; pwd)
echo $project_path

project_name="${project_path##*/}"
echo $project_name

project=$(dirname $(pwd))
echo $project

name="${project##*/}"
echo $name

輸出結果是:

/home/hadoop/apps/clientCanal/bin
bin
/home/hadoop/apps/clientCanal
clientCanal

 

2、後臺運行

只要在命令行的最後加上  &

例如:java -jar Test &

 

3、日誌輸出

日誌輸出重定向命令,如 cmd > out.log &
Linux默認定義兩個變量:1和2;
1表示標準輸出
2表示錯誤輸出
如 cmd 1>info.log 2>error.log &              (標準輸出到info.log      錯誤輸出到error.log)                                                                       如果想輸出到一個文件:cmd 1>info.log 2>&1 &

 

4、基本腳本

#!/bin/bash
case "`uname`" in
    Linux)
                bin_abs_path=$(readlink -f $(dirname $0))
                ;;
        *)
                bin_abs_path=`cd $(dirname $0); pwd`
                ;;
esac
project_abs_path=`cd ${bin_abs_path}/.. ;pwd`

config_abs_path=$project_abs_path"/config"

libs_abs_path=$project_abs_path"/libs"

logs_abs_path=$project_abs_path"/logs"

JARS="" #存放所有jar的路徑
jar=".jar" #匹配jar

for file in `ls $libs_abs_path`
do
 if [[ $file == *$jar ]]
 then
    JARS=$JARS$libs_abs_path$file" "
 else
    echo "libs文件夾裏面有非jar文件"
fi
done
echo $JARS


JAVA="" #存放java的路徑
if [ -z "$JAVA" ] ; then
  JAVA=$(which java)
fi
echo $JAVA

#創建日誌文件
if [ ! -f $logs_abs_path/app.log ] ; then
        touch $logs_abs_path/app.log
fi


#執行jar包
JAVA -cp $libs_abs_path APP 1>$logs_abs_path/app.log 2>&1

創建腳本:         touch yourFileName.sh

更改文件可執行:chmod +x yourFileName.sh                         

編輯腳本:vi yourFileName.sh

執行這個腳本:sh yourFileName.sh &

5、maven項目到Linux

參考GitHub:maven打tar.gz包

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