用户工具

站点工具


侧边栏

[侧边栏]

侧栏编辑 后台管理
GIT仓库
老web
C++Reference
快速笔记 笔记浏览

working:7_随笔随记:未整理:shell常用脚本

获取时间

TIME_CURR=$(date "+%Y.%m.%d.%H.%M.%S")

shell第一行bash/dashh

#!/bin/bash

shell文件通用脚本

SCRIPT_FILE=${BASH_SOURCE[0]}
SCRIPT_DIR=${SCRIPT_FILE%/*}
SCRIPT_PATH=$(cd ${SCRIPT_DIR%/*} && pwd)
echo "---|SCRIPT_FILE      : ${SCRIPT_FILE}|---";
echo "---|SCRIPT_DIR       : ${SCRIPT_DIR}|---";
echo "---|SCRIPT_PATH      : ${SCRIPT_PATH}|---";

提取shell脚本文件名

$0 是命令行里面的执行文件 
${BASH_SOURCE[0]} 才是当前执行文件 

比如命令行执行 0.sh 然后 0.sh 里面 include 1.sh 
那么 1.sh 里面的 $0 对应的是 0.sh, ${BASH_SOURCE[0]} 才是 1.sh

box_echo "0=$0"
box_echo "BASH_SOURCE=${BASH_SOURCE}"
box_echo "BASH_SOURCE[0]=${BASH_SOURCE[0]}"
box_echo "BASH_SOURCE[1]=${BASH_SOURCE[1]}"

shell wget

wget_plus(){
	WGET_CMD="$*"
	WGET_SRC=$1
	WGET_DES_PATH=$(pwd)
	WGET_FILE=${WGET_SRC##*/}
	for argv in $*; do
		if [ "$argv_last" == "-P" ]; then
			if [ "${argv:0:1}" == "/" ]; then
				WGET_DES_PATH="${argv}"
			else
				WGET_DES_PATH="${WGET_DES_PATH}/${argv}"
			fi
		fi
		argv_last=${argv}
	done
	
	if [ ! -f ${WGET_DES_PATH}/${WGET_FILE} ]; then
		WGET_STATE="File download"
		wget ${WGET_CMD}
	else
		WGET_STATE="File exists"
	fi
	
	if [ ${wget_echo_info} ]; then
		echo -e "\033[0;35m# WGET_CMD=${WGET_CMD}\033[0m"
		echo -e "\033[0;35m# WGET_SRC=${WGET_SRC}\033[0m"
		echo -e "\033[0;35m# WGET_DES_PATH=${WGET_DES_PATH}\033[0m"
		echo -e "\033[0;35m# WGET_FILE=${WGET_FILE}\033[0m"
		echo -e "\033[0;35m# WGET_STATE=${WGET_STATE}\033[0m"
	fi
}

wget_plus http://www.zlib.net/zlib-1.2.11.tar.gz -P ${PATH_RESOURCE}1 -q --show-progress
working/7_随笔随记/未整理/shell常用脚本.txt · 最后更改: 2020/10/13 14:01 由 wenliang