이런 단순한 명령이 오류를 발생시켰다.
$ ls -al "/home/userid/abc def/a*" ls: '/home/userid/abc def/a*'에 접근할 수 없습니다: 그런 파일이나 디렉터리가 없습니다
틀림없이 abc def
디렉토리 안에는 a 로 시작하는 파일이 있는데도!
이유는 한가지, 바로 와일드 카드 때문.
와일드 카드가 따옴표 안에 들어가 있기 때문에, 말 그대로 a*
라는 파일을 찾으라는 명령이 되어 버렸다. 즉, 와일드 카드가 와일드 카드가 아니게 된 상황.
이를 위해선, * 를 따옴표 밖으로 빼줘야 한다.
$ ls -1q "/home/userid/abc def/a"* '/home/userid/abc def/aoete'
간단하지만, 모르면 짜증나고 황당한 문법!
StackOverflow 에서 도움을 얻었다.