bash 질문
글쓴이: centos / 작성시간: 금, 2017/01/06 - 5:38오후
안녕하세요.
bash를 오랫동안사용하지 않다보니 분명 알던건데.. 기억이나지 않아 글남겨 봅니다..
ps -ef | grep java | grep -v "grep java" | awk '{print $2}' > "/usr/local/src/aa.txt" PS_NUM=`cat "/usr/local/src/aa.txt"` for j in "${#PS_NUM[@]}" do echo ${PS_NUM[0]} done
답답한 부분이..
분명히 쉘로 실행될때는 세로 출력되는데...
변수에만 대입해서 뽑아내면...
아래와 같이 가로 출력 됩니다 ^^;;
975 2193 4544 8844 13269 17572 22853 26585 29687 30408 30421 31602
결론은 저 숫자 값 하나하나가 배열에 들어가야하는데.... 위와 같이 for문으로 뽑아내면 배열의 0번제가 전체로 잡혀 버리네요 ㅠㅠ
echo "$PS_NUM" 하면 세로 출력되는걸 알겠는데...
for으로 배열 하나하나 값을 뽑으려면 어떻게 해야하죠 ? ^^:;
Forums:
#!/bin/bash
답변감사합니다.
친절한 답변 감사드립니다.
답변 내용은 어떤내용인지는 알겠는데요.
제가 말씀드렸던것은....
1 2 3 4 5
이렇게 츨력되면
배열의 a[0]을 구한다면 1 2 3 4 5 가 출력될건데..
만약 세로라면
1
2
3
4
5
이럴겁니다. a[0]를 뽑아낸다면 0 나오고 a[1]은 1일구요.
이런식으로 뽑아내고싶은겁니다.
감사합니다!!
죄송합니다 ㅠㅠ
이해했습니다.
점점 머리가 ㅠㅠ.... 에휴..
덕분에 잘해결했습니다~!!
bash shell script 강좌
bash shell script 강좌를 추천해 드립니다.
http://mug896.github.io/bash-shell/
네 감사합니다.
부족한점이 많아 다시 공부 많이 해야겠네요. 감사합니다!
도입부에 아래 내용 추가하시면 원하시는 결과 얻으실
도입부에 아래 내용 추가하시고 코드 약간 수정하시면 원하시는 결과 얻으실 수 있을 것 같습니다.
아, 댓글을 보니 제가 잘못이해했네요. 원하시는대로 하려면 적어도 한번은 배열에 집어넣는 파싱을 해야 할 것 같습니다. 위에 공백님 방법대로 for문 돌면서 배열에 append해주면 되겠네요.
한번에 가능한 방법은.. 녹색 검 들고 계신 고수님이 오시면 일러주실듯 합니다.
소곤소곤
아 이해했습니다.
죄송합니다 ㅠㅠ
이해했습니다.
점점 머리가 ㅠㅠ.... 에휴..
덕분에 잘해결했습니다~!!
댓글 달기