주어진 매개변수에 대해 ls -l 명령을 사용하는 bash 스크립트를 만드는 방법은 무엇입니까? Shebang 등이 포함된 텍스트 문서가 있지만 ls -l 명령을 추가하면 내 cwd에서만 작동합니다. 내 스크립트가 scr이라고 가정해 보겠습니다. ./scr을 실행하면 매개변수를 입력할 수 없고 cwd에서 ls -l만 수행됩니다. ls -l 명령에 대한 인수로 디렉토리를 제공할 수 있어야 합니다.
답변1
스크립트를 입력하면 ls -l "$@"
bash 스크립트의 모든 매개변수가 명령에 제공됩니다 ls -l
.
#!/bin/bash
ls -l "$@"
사용:
Chris@Chris-PC:~/test$ ./scr.sh
total 4
-rwxrwxr-x+ 1 Me None 21 Feb 15 22:02 scr.sh
Chris@Chris-PC:~/test$ ./scr.sh /
total 489
drwxr-xr-x+ 1 Chris None 0 Feb 7 17:09 bin
drwxr-xr-x+ 1 Chris None 0 Oct 1 2014 dev
drwxr-xr-x+ 1 Chris None 0 Feb 7 17:09 etc
drwxrwxrwt+ 1 Chris None 0 Apr 13 2015 home
drwxr-xr-x+ 1 Chris None 0 Feb 7 17:09 lib
dr-xr-xr-x 10 Chris None 0 Feb 15 22:03 proc
drwxr-xr-x+ 1 Chris None 0 Apr 7 2015 sbin
drwxrwxrwt+ 1 Chris None 0 Feb 15 22:02 tmp
drwxr-xr-x+ 1 Chris None 0 Dec 27 14:16 usr
drwxr-xr-x+ 1 Chris None 0 Dec 3 2014 var
Chris@Chris-PC:~/test$