본문 바로가기
프로그래밍/Shell Script

[Script] 쉘 스크립트 모음

by Hwan,. 2022. 9. 1.
728x90
반응형

 

passwd에 stdin으로 패스워드 전달하기

usernam="root"
password="12345"
echo $password | passwd --stdin $username

 

여러 파일에서 특정 키워드 찾기

keyword="alias"
path="/root/"
filename=".bash_profile"
grep $keyword `find $path -name $filename`

 

여러 파일에서 특정 문자열 변경하기

source="127.0.0.1"
dest="192.168.0.100"
path="/etc/"
filename="ifcfg-*"

sed -i s/$source/$dest/g `find $path -name $filename`

 

여러 파일에서 (특수기호 공백 제외하고) 특정 문자열 검색

#!/bin/bash
egrep -v '^[[:space:]]*(#.*)?$' `find $path -name $filename` | grep "$1" | grep "$2"

 

입력받은 알파벳 대문자, 소문자로 변경하기

read input
input="`echo $input | tr [A-Z] [a-z]`"

 

ssh-key 원격 서버에 복사하기

ssh-copy-id -i ~/.ssh/id_rsa.pub root@192.168.0.123

 

Reverse SSH로 원격지에서 스크립트 실행하기

scp -P 22 ./script_file.sh root@192.168.0.123:/root
ssh root@192.168.0.123 -p 22 "/bin/bash < script_file.sh"

 

tar.gz 압축 쉽게하기

tar -czvf $1.tar.gz $1

 

압축해제 함수

function tar_xvzf() {
	local File=$1.tar.gz
	local Dir=`echo $File | sed 's/.tar.gz//g'`	
	
	if [[ ! -d $Dir ]]; then
		#echo $Dir " - not exist"
		if [[ ! -f $File ]]; then
			#echo $File " - exist"
			echo "<Start Release - $File >"

			tar -xvzf $File

			echo "<End Release - $File >"
		fi
	fi

	#echo ""
}

tar_xvzf "test*"

 

압축파일 원격지에 전송하고 해제하기

scp $1 root@192.168.0.123:/root
ssh root@192.168.0.123 "tar -xzvf $1"

 

오늘 날짜 구하기

local date_today=`date "+%Y%m%d"`
echo ${date_today}
728x90
반응형

댓글