source

Bash를 사용하여 변수에 현재 디렉토리를 저장하시겠습니까?

manysource 2023. 4. 15. 09:04

Bash를 사용하여 변수에 현재 디렉토리를 저장하시겠습니까?

현재 작업 디렉토리를 검색하여 변수에 저장하여 실행할 수 있도록 합니다.export PATH=$PATH:currentdir+somethingelse디폴트로 cwd를 포함하는 변수가 있는지 잘 모르겠습니다.

Bash를 사용하여 현재 디렉토리를 변수에 저장하려면 어떻게 해야 합니까?

그러면 변수에 대한 현재 작업 디렉토리의 절대 경로가 저장됩니다.cwd:

cwd=$(pwd)

이 경우 다음 작업을 수행할 수 있습니다.

export PATH=$PATH:$(pwd)+somethingelse

.bash_profile에는 다음이 있습니다.

function mark {
    export $1=`pwd`;
}

그래서 내가 디렉토리를 기억하고 싶을 때, 나는 그냥 타이핑할 수 있습니다. 예를 들어, 거기에 표시하세요.

그 장소로 돌아가려면 cd $를 입력하기만 하면 됩니다.

현재 작업 디렉토리 변수(전체 경로 /home/dev/other)

dir=$PWD

풀 패스를 인쇄하다

echo $dir

당신의 과제에는 추가가 있습니다.$:

export PATH=$PATH:${PWD}:/foo/bar

상대적인 대답을 위해, 사용.

테스트 대상:

$ myDir=.
$ ls $myDir
$ cd /
$ ls $myDir

첫 번째ls는 현재 디렉토리의 모든 것을 표시합니다.두 번째는 루트 디렉토리의 모든 것을 표시합니다(/).

BASH 쉘에서는 매우 간단하게 실행할 수 있습니다.

export PATH=$PATH:`pwd`/somethingelse

현재 작업 디렉터리를 변수에 저장할 필요가 없습니다...

또 다른 변종:

export PATH=$PATH:\`pwd`:/foo/bar

셸 인빌드 변수를 사용할 수 있습니다.PWD, 다음과 같이 합니다.

export PATH=$PATH:$PWD+somethingelse

솔루션과 유사하다mark변수 체크와 함께.또, 사용하지 않는 것을 선호합니다.$variable내가 저장했던 끈과 같은 끈이 아니라

save dir를 사용하여 폴더/디렉토리 저장sdir myprojectgoto dir를 사용하여 해당 폴더로 돌아갑니다.gdir myproject

게다가 원어민의 일을 조사하다.pushd and popd현재 폴더를 저장하여 왔다 갔다 할 때 편리합니다.이 경우 다음을 사용할 수도 있습니다.popd끝나고gdir myproject그리고 다시 돌아간다

# Save the current folder using sdir yourhandle to a variable you can later access the same folder fast using gdir yourhandle

function sdir {
    [[ ! -z "$1" ]] && export __d__$1="`pwd`";
}
function gdir {
    [[ ! -z "$1" ]] && cd "${!1}";
}

또 다른 편리한 트릭은 pushd/popd와 sdir와 gdir를 결합하여 pushd의 goto dir 함수로 cd를 대체하는 것입니다.이렇게 하면 저장된 폴더로 이동할 때 이전 폴더로 다시 이동할 수도 있습니다.

# Save the current folder using sdir yourhandle to a variable you can later access the same folder fast using gdir yourhandle

function sdir {
    [[ ! -z "$1" ]] && export __d__$1="`pwd`";
}
function gdir {
    [[ ! -z "$1" ]] && pushd "${!1}";
}

언급URL : https://stackoverflow.com/questions/13275013/save-current-directory-in-variable-using-bash