저는 Linux From Scratch 프로젝트를 진행할 예정이며 각 단계를 진행하기 전에 각 프로그램과 라이브러리가 올바르게 생성되었는지 확인하고 싶습니다.
(여기와 Google에서 검색했지만 내가 찾을 수 있는 거의 모든 것은 같은 줄에 선언된 var를 에코하거나 var의 출력을 ls
변수에 덤프하는 것에 관한 것입니다. 둘 다 내 경우에는 적용되지 않습니다)
다른 모드를 사용하여 다음과 유사한 명령을 여러 번 입력합니다.
ls -ld /tools/lib/mypattern* /tools/bin/mypattern*
예를 들어:
ls -ld /tools/lib/tcl* /tools/bin/tcl*
동일한 패턴이 재사용되므로 다음과 같이 단순화하고 싶습니다.
glob=mypattern* ls -ld /tools/lib/$glob /tools/bin/$glob
하지만 내가 실행하면 :
glob=tcl* ls -ld /tools/lib/$glob /tools/bin/$glob
그러면 내가 얻는 것은 다음과 같습니다.
drwxr-xr-x 2 lfs lfs 4096 Dec 2 03:02 /tools/bin/
drwxr-xr-x 16 lfs lfs 4096 Dec 2 03:02 /tools/lib/
변수가 올바르게 선택되지 않은 것이 분명합니다.
두 위치 모두에서 수동으로 입력한 패턴을 사용하여 실행 하면 ls
올바른 출력을 얻습니다.
$ ls -ld /tools/lib/tcl* /tools/bin/tcl*
lrwxrwxrwx 1 lfs lfs 8 Dec 2 02:39 /tools/bin/tclsh -> tclsh8.6
-rwxr-xr-x 1 lfs lfs 20512 Dec 2 02:38 /tools/bin/tclsh8.6
drwxr-xr-x 5 lfs lfs 4096 Dec 2 02:38 /tools/lib/tcl8
drwxr-xr-x 6 lfs lfs 4096 Dec 2 02:38 /tools/lib/tcl8.6
-rw-r--r-- 1 lfs lfs 7660 Dec 2 02:38 /tools/lib/tclConfig.sh
-rw-r--r-- 1 lfs lfs 773 Dec 2 02:38 /tools/lib/tclooConfig.sh
실행할 때마다 한 번만 패턴을 입력하면 되도록 이 명령을 단축하려면 어떻게 해야 합니까?
답변1
확장은 변수 할당 전에 수행되고, 명령 실행은 변수 할당 후에 수행됩니다. 사용버팀대 확장대신에
ls -ld /tools/{lib,bin}/tcl*