테스트 사이트 - 개발 중인 베타 버전입니다

learning the shell : 한파일을 subdirectory에 단번에 추가하자!!!

· 20년 전 · 2231
#!/bin/bash
############# start ##################
# copyright(c)조훈현
#시나리오 : 퇴근시간이 다되었고
#애인과 퇴근 1시간후에 약속이 되어있다.
#그런데 긴급한 상황으로 system에 1000명이 넘는 사용자의
#계정에 특정파일을 패치 해야한다.
#수동으로 한다면 4시간으로도 해결은 불가능하다.
#그러나 간단한 shell 프로그래밍은 애인과의 저녁시간을
#확보시켜준다.
#주의 : 단 사용자의 홈디렉토리가 한디렉토리의
#subdiretory 이어만 한다.
####################################

echo " input target file or directory: "
read target

echo " input destination directory : "
read destination

for dir in `ls -l $destination | grep '\<d' | cut -c 57-100`
do

cp -r $target /$destination/$dir

done

echo "complete copy!!!"

exit 0
############# E N D #############

만약 home디렉토리가 /home의 subdiretory가 아니라면
----------------------------------------------
for dir in `ls -l $destination | grep '\<d' | cut -c 57-100`
do
cp -r $target /$destination/$dir
done
----------------------------------------------
를 아래의
------------------------------------------------------------
for dir in `tail +$(cut -f 1,3 -d: /etc/passwd | grep -n 500 | cut -f 1 -d:) /etc/passwd | cut -f 6 -d:`
do
cp -r $target $dir
done
------------------------------------------------------------
로 치환한다

주의!! 이프로그램 실행으로 일어나는 어떠한 책임도 저작권자는 책임이 없음을 밝힙니다.
학습용으로 사용하시길 권장합니다.~~^^<div class='small'>[이 게시물은 관리자님에 의해 2011-10-31 17:32:05 Linux에서 이동 됨]</div>

댓글 작성

댓글을 작성하시려면 로그인이 필요합니다.

로그인하기

게시글 목록

번호 제목
10705
10698
10697
10693
10687
10683
10681
10680
10677
10671
10670
10666
10664
10658
10656
10653
10652
10651
10650
10649
10648
10646
10645
10642
28809
10641
10638
10637
10636
10635
28808
10634
10632
28807
28806
10631
10630
10629
28805
10627
10626
10625
28804
28803
10624
10623
28802
10622
10620
10619
10618
10616
10615
10613
10611
28799
10610
10608
28798
10604
28794
10602
10600
28793
10596
10595
10593
28792
28791
28790
10592
28789
28787
10591
10590
10589
28785
10588
10587
28783
10586
28782
10585
10574
10571
10570
28778
10568
10567
28777
10564
10562
10561
28776
10559
10558
28775
28774
10557
10556