[완료]쉘 명령어를 변수에 넣고 실행하기.. 도와주세요~

dnghqls의 이미지

안녕하세요.

이번에 쉘 프로그래밍을 배우고 있습니다. 이제 좀 익숙해진 편이구요..

다름이 아니라 쉘 프로그램을 작성중인데 중복되는 명령어를 변수에 넣고 사용하고 싶습니다.

cmd='cat file | sed s/ab^/ /g'

쉘 프로그램 내에서 cmd를 어떻게 실행시키나요?

제가 모르는 개념이 있다면 던져주시기 바랍니다. 따로 공부하겠습니다. 꾸벅..

JuEUS-U의 이미지

그냥

$cmd

라고 쓰면 변수값이 실행됩니다.
dnghqls의 이미지

cat: |: No such file or directory
cat: sed: No such file or directory
cat: 18,18s/**$/: No such file or directory
cat: /: Is a directory

저도 그렇게 해봤는데... 이런 메시지가 떠서요..

왜 이렇게 뜨는건지 궁금합니다..

그냥 명령어를 입력할때와 변수로 실행시킬때의 차이점이 감이 안잡히네요.

tj의 이미지

eval $cmd

dnghqls의 이미지

감사합니다^^ 그렇게 하니까 되네요!