> ls -l aliasedname
lrwxr-xr-x 1 anon3202 users 19 Dec 25 05:24 aliasedname -> www/realfilename
내 스크립트가 지정된 링크 (위에 표시된 대로) 에 대한 정보가 아니라 ~/www/realfilename
($1)에 대한 정보가 제공된 시기 에 대한 aliasedname
세부 정보를 반환하도록 하려고 합니다 .aliasedname
내 생각엔 (어쩌면?) 어떤 유형을 원하는 것 같아요 exec
? 그러나 나는 그것에 대해 정말로 모호합니다.
ls
나는 , a를 수행하고 이를 평가한 다음 마지막 부분을 잡아서 경로로 사용할 생각이었습니다 cut
... 하지만 작업이 많이 필요한 것 같으며 더 간단한(더 우아한) 솔루션이 있어야 합니다.
나는 스크립트를 사용하여 $1로 다양한 작업을 수행하지만 처리를 위해 무엇이든 내 스크립트로 전달될 수 있습니다. 별칭이 아닌 실제 파일을 다루고 있는지 확인하고 싶습니다.
파일( )인지 확인할 수 있지만 if [ -f $1 ]; then
별칭을 전달하면 의도가 무엇인지 분명하므로 실패해서는 안 됩니다.
답변1
ls
자세한 정보가 필요하면 -H (--dereference-command-line)
다음 옵션을 사용하세요.
ls -lH ./aliasedname
답변2
사용해 보는 것은 어떨까요 readlink
? man readlink
더 알아보기.
예를 들어,
[/tmp]$ ls -l
lrwxrwxrwx. 1 root root 9 Jan 16 10:07 mylink -> test-link
-rw-r--r--. 1 root root 0 Jan 16 10:07 test-link
[/tmp]$ readlink -f mylink
/tmp/test-link
편집 내용에 따라 "파일 테스트 연산자"
-h 파일은 심볼릭 링크입니다.