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包