스 크 립 트 와 사용 가능 한 스 크 립 트 연습 (업데이트 중...)
vimrc 설정
~/.vimrc
set ignorecase
set cursorline
set autoindent
autocmd BufNewFile *.sh exec ":call SetTitle()"
func SetTitle()
if expand("%:e") == 'sh'
call setline(1,"#!/bin/bash")
call setline(2,"#")
call setline(3,"#********************************************************************")
call setline(4,"#Author: ZhangYinsheng")
call setline(5,"#QQ: 744004845")
call setline(6,"#Date: ".strftime("%Y-%m-%d"))
call setline(7,"#FileName: ".expand("%"))
call setline(8,"#URL: https://blog.51cto.com/14228129.")
call setline(9,"#Description: The test script")
call setline(10,"#Copyright (C): ".strftime("%Y")." All rights reserved")
call setline(11,"#********************************************************************")
call setline(12,"")
endif
endfunc
autocmd BufNewFile * normal G
centos 버 전 판단
IDCentos_release_version.sh
#!/bin/bash
case "`cat /etc/redhat-release |grep -Eo " [0-9]{1,2}"|tr -d " " `" in
4)
echo "Centos version is 4" ;;
5)
echo "Centos version is 5" ;;
6)
echo "Centos version is 6" ;;
7)
echo "Centos version is 7" ;;
8)
echo "Centos version is 8" ;;
9)
echo "Centos version is 9" ;;
10)
echo "Centos version is 10" ;;
esac
경고 디스크 와 inode 번호 사용량:
#!/bin/bash
Perscent=10 #
Usedisk="`df | grep "/dev/sd"|grep -E " [0-9]+%" -o| tr -d "%" |sort -nr |head -1 `";
InodeUsedisk="`df -i | grep "/dev/sd"|grep -E " [0-9]+%" -o| tr -d "%" |sort -nr |head -1 `";
[ $Usedisk -ge $Perscent ] && echo Warning! Useddisk is ${Usedisk}% ;
[ $InodeUsedisk -ge $Perscent ] && echo Warning! InodeUseddisk is ${InodeUsedisk}% ;
[ $Usedisk -lt $Perscent ] && [ $InodeUsedisk -lt $Perscent ] && echo Disk Using Condition is Good!;
스 크 립 트 매개 변수 참조 및 $*, $@, shift 판단
agr1.sh agr1 arg2...
#!/bin/bash
echo "1st arg is $1"
echo "2st arg is $2"
echo "2st arg is $3"
echo "10st arg is ${10}"
echo "all args are $*"
echo "all args are $@"
echo "args sumnumber is $#"
echo "scriptname is `basename $0`"
echo -e "\e[1;33marg2 use \$* begins test:\e[0m"
arg2.sh "$*" #use $*
echo -e "\e[1;33marg3 use \$@ begins test:\e[0m"
arg3.sh "$@" #use $@
echo -e "\e[1;32mShift once test:\e[0m"
shift
echo "1st arg is $1"
echo "2st arg is $2"
echo "2st arg is $3"
echo "10st arg is ${10}"
echo -e "\e[1;32mShift twice test:\e[0m"
shift
echo "1st arg is $1"
echo "2st arg is $2"
echo "2st arg is $3"
echo "10st arg is ${10}"
arg2. sh 와 arg3. sh:
#!/bin/bash
echo "1st arg is $1"
echo "2st arg is $2"
echo "2st arg is $3"
echo "10st arg is ${10}"
echo "all args are "$*""
echo "all args are "$@""
echo "args sumnumber is $#"
echo "scriptname is `basename $0`"
테스트 환경 변수 스 크 립 트 에서 전달
father.sh
#!/bin/bash
export name=farther
echo "start farther.sh"
echo "name=$name"
echo "farther pid is $BASHPID"
son.sh
son.sh
#!/bin/bash
echo "starting son.sh "
echo "son.sh pid is $BASHPID"
echo "name=$name"
sleep 100
네트워크 에서 다른 호스트 로 파일 복사 (간단 한 버 전)
scpfile.sh arg1 arg2....
#!/bin/bash
scp $* [email protected]:/data/scripttest
호스트 이름, IPv 4 주소, 운영 체제 버 전, 커 널 버 전, CPU 모델, 메모리 12068, 하 드 디스크 12068, 12073,
SysteminfoCheck.sh
#!/bin/bash
백업 파일 (수 동 버 전)
backup.sh
#! /bin/bash
#SOURCE="/data/script36"
DEST="/data/backup/backupfile_`date "+%F_%T"`" #Destination cp directory
BEGINCOLOR="\e[1;35m"
ENDCOLOR="\e[0m"
NOPASS=0 #Used to determine whether All filename are correct and exist, 0 is yes ,1is no.
#ARGNUM=$#
set -u
#variable is not exist ,then exit
#set -e
if [ $# -eq 0 ]; then
echo -e "\e[1;31mPlease input one or more filename[directory]correctly!!!\e[0m"
echo -e "\e[1;31mFor example :\e[0m
\e[1;32mbackup.sh\e[0m /home/zhang/ /dev/zero ..."
exit
else
echo -e "\e[1;36mCheck input filename whether exists or not...\e[0m"
for n in $*;do
if [[ ! -a "$n" ]];then
echo -e "\e[1;31mThere is no file[Dir]\e[0m\e[1;5;41m$n\e[0m";
NOPASS=1;
#Judge if file exist;
fi
done
#exit;
if [ $NOPASS -eq 1 ] ;then
echo -e "\e[1;5;31mCheck Not Pass ,Please check your input filename and redo!!!\e[0m"
exit
fi
echo -e "\e[1;32mFilename check done,All file exists\e[0m"
fi
#sleep 50
echo -e "\e[1;33mGet Ready For Backup After 10 Seconds...\e[0m"
sleep 0.5
echo -e "\e[1;5;31mYou can press down key \e[0m\e[1;5;34m\"ctrl + c\"\e[0m\e[1;5;31m to stop backup now!\e[0m"
sleep 0.5
echo "Counting down:"
for i in {1000..1};do #10seconds to stop backup
x=$[i/100];
y=$[i%100];
if [ $y -lt 10 ]; then
y="0$y"
fi
let Rdmcolor=$RANDOM%7+31
echo -ne "\e[1;${Rdmcolor}m\e[K${x}.${y}\e[0m\r";
sleep 0.01
done
if [[ ! -d "$DEST" ]]; then
mkdir -p "$DEST";
echo -e "\e[1;32mMaking Backup_Destination_Directory Successfully!!!\e[0m";
fi
#sleep 0.1
echo -e "${BEGINCOLOR}Starting backup....$ENDCOLOR"
#sleep 0.1
cp -a -v -u --backup=numbered $* $DEST
echo -e "${BEGINCOLOR}Backup is finished~$ENDCOLOR"
echo -e "\e[1;32mFile backup to Directory '$DEST'\e[0m"
# unset SOURCE DEST BEGINCOLOR ENDCOLOR
매일 정시 백업 파일 (자동 버 전)
IP , 。
linkcheck.sh
#!/bin/bash
echo "The Sumnumber and IPAdress Connecting Now:"
netstat -tan | tr -s " " ":" |cut -d: -f6 |grep -Eo "(([1-9][0-9]?|1[0-9]{2}|2[0-4][0-9]|25[0-5]).){3}([1-9][0-9]?|1[0-9]{2}|2[0-4][0-9]|25[0-5])"|sort|uniq -c
- :
PATH=/###/###:$PATH
echo $PATH >> /etc/profile.d/evn.sh
linux ( )
- PATH ,HISTCONTROL ,HISTFORMAT,HISTSIZE,PS1
-
- issue,motd
- umask
- ~/.vimrc
#! /bin/bash
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다기 능 SVN 백업 스 크 립 트 공유이 스 크 립 트 는 개인 적 으로 완벽 하 다 고 생각 합 니 다. SVN 은 완전히 백업 하고 증분 백업 을 하 며 백업 한 데 이 터 를 다른 서버 에 동기 화 할 수 있 습 니 다. 또한 실시 간 백업 과 메...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.