457
2016-04-08 22:34:18
1
확실하진 않지만 소설을 하나 써봅니다.
쉘에서 작은 따옴표로 감싼 부분은 명령어로 인식합니다.
ls 나 'ls'나 같은 명령어긴 하지만 아래 상황에서는 바뀝니다.
처음 ls는 알리아스 목록에서 ls를 찾고... 있으니까 변환해서 ls -al을 실행 합니다.
하지만 두번째 'ls'는 ''안에 명령어니까 또다른 쉘을 실행해서
그 쉘에서 ls가 실행되는데 이때 실행되는 ls는 알리아스 목록이 없는 쉘이 실행되고,
그래서 알리아스 없는것처럼 보일겁니다...
확인하려면 ls말고 pid와 ppid를 출력하는 테스트 프로그램 짜서,
실행파일과 '실행파일'을 실행해 보면.. 지금 쓰는 쉘의 pid와 비교해 보는건 어떨까요?
(물론 그냥 pid 명령어로도 충분히 할 수 있겠죠?)