cwd가 다른 곳에 있으면 실행된 Bash 스크립트는 파일을 읽지 않습니다.

cwd가 다른 곳에 있으면 실행된 Bash 스크립트는 파일을 읽지 않습니다.

home/me/bin.bashrc이라는 별칭 xs.txt이 있는 스크립트가 있습니다 home/me/bin. xs.txt그러나 다른 폴더에서 별칭을 실행하면 Desktopxs를 찾을 수 없습니다. txt:

num_comps=$(wc -l < xs.txt)

오류 메시지가 나타납니다:

home/me/bin/upper: line 20: xs.txt: No such file or directory.
sed: can't read xs.txt: No such file or directory

어떤 cwd에 있든 항상 읽을 수 있도록 이 줄의 형식을 어떻게 지정합니까 xs.txt?

답변1

게시물의 답변을 찾아보세요https://stackoverflow.com/questions/32200811/bash-read-from-file-in-the-same-directory-as-the-script-file

내가 잊어버린 것은 새로운 쉘 세션이 cwd에서 호출된다는 것입니다. 그래서 xs.txt가 있는 곳으로 cd해야 합니다. 간단한:

TARGET = /home/me/bin
cd $TARGET

스크립트는 비와도 잘 작동합니다.

관련 정보