질문&답변
클라우드/리눅스에 관한 질문과 답변을 주고 받는 곳입니다.
리눅스 분류

셀스크립트 질문입니다

작성자 정보

  • 보안 작성
  • 작성일

컨텐츠 정보

본문

안녕하세요 글 다시 올립니다

밑에 글이 너무 혼잣말했네여 좀 정리해서 다시 올립니다

 

셀스크립트에서 궁금한점게 있습니다

/home/유저 들이 있습니다

[root@localhost 2]# ls -l /home |grep "^d" | awk '{print $9}'
bible
ftp
ppaa
papa

유저들을 출력후 파일에 저장합니다
[root@localhost 2]# ls -l /home |grep "^d" | awk '{print $9}' > user.text

이제 이 값들 특정 변수에 하나씩 받아서 파일을 생성하게 만들고 싶습니다  (폴더 생성위치는 /root/text 폴더에)

예로 위에 유저들을 출력후 /root/text폴더에 계정이름.text라는 파일을 생성하고 싶습니다 어떻게 프로그래밍 해야할까여?

우선 이렇게 프로그래밍 해봤습니다

#!/bin/sh

ls -l /home |grep "^d" | awk '{print $9}' > user.text
a=user.text
while [ "$a" ]
do
###################
if [ -n "$a" ]
        then
                echo "$a"
        else
fi
##################
touch $a
break    -> 테스트용으로 한번만 돌게 설정 하였습니다
done

셀스크립트 내용입니다 위에 if문은 필요없는데 $a변수에 어떤값을 받는지 테스트해보았습니다
user.text 에 내용을 값을 하나씩 받아들어야돼는데 그냥 $a값에
user.text 이름만 변수에 들어가있네여 user.text 내용의 유저들이 하나씩 들어가야돼는데..

뭐가 틀렸는지는 찾았는데 어떻게 수정해야될지 모르겠습니다
$a값에 자꾸 user.text 라는 이름이 들어가네여
$a에 user.text의 유저이름들이 변수에 들어가야돼는데

어떻게 프로그래밍 해야할까요?

관련자료

댓글 1

쉼쉼이님의 댓글

  • 쉼쉼이
  • 작성일
#/bin/sh
user1=`grep home /etc/passwd | cut -f 1 -d ':'`
for var in $user1
do
        touch /root/text/$var.text
done
이렇게 해주시면 될꺼같네요...

공지사항


뉴스광장


  • 현재 회원수 :  60,288 명
  • 현재 강좌수 :  36,943 개
  • 현재 접속자 :  313 명