./를 입력하지 않고 bash 스크립트를 실행하는 방법

./를 입력하지 않고 bash 스크립트를 실행하는 방법

그것은 오랫동안 나를 괴롭혀왔고 정말 지겨워졌습니다. 예를 들어 두 디렉터리를 비교하는 testscript라는 스크립트가 있습니다. 수업시간에 교수는 그냥 타이핑만 하면 돼요

testscript dir1 dir2

출력을 얻으려면 테스트 스크립트 앞에 ./를 추가하고 Enter 키를 눌러야 합니다. 그런 다음 다음 줄에 dir1과 dir2를 입력하십시오.

그 교수는 어떻게 그랬나요? bashrc 관련 문제인가요? 나는 그것이 어떻게 작동하는지 결코 이해하지 못합니다. 관련이 있는 경우 Linux를 처음 사용하므로 간단하고 간단한 언어로 설명해주세요. 감사합니다!

답변1

스크립트가 포함된 디렉터리를 변수에 추가해야 합니다 PATH.

export PATH="$PATH:/path/to/dir"

아니면 추가할 수도 있어요현재의디렉토리 PATH:

export PATH="$PATH:."

나중에는 좀 있다보안상의 단점그렇지만.

답변2

이를 수행하는 또 다른 방법은 bashrc 파일에 별칭을 추가하는 것입니다.

vim ~/.bashrc

내 bashrc 파일은 다음과 같습니다.

# .bashrc

alias coredb='psql -h 172.x.x.x -U jboss jbossdb'
alias psql='psql -h 172.x.x.x -U rkah portal_db'
alias opendb='psql -h 172.x.x.x -U rkah portal_db'


# Source global definitions

if [ -f /etc/bashrc ]; then
        . /etc/bashrc
fi

# User specific aliases and functions
alias menu='bash ./menuScript.sh'
alias vi='vim'

별칭이라고 표시된 곳을 보면 정확히 추가할 수 있는 방법이 있습니다. 예를 들어 다음과 같이 입력합니다.

alias testscript='bash ./testscript.sh'

답변3

파일 끝에 다음 줄을 넣어야 합니다 .bashrc.

PATH=$PATH:.    

이렇게 하려면 다음 명령을 입력하면 됩니다.

echo "PATH=$PATH:." >> ~/.bashrc    

그런 다음 새 셸을 시작하여 작동하게 해야 합니다.

답변4

고려할 수 있는 또 다른 대안은 특수한 실행 가능 스크립트와 프로그램을 하나의 디렉터리에 모아서 PATH 문에 넣는 것입니다. 따라서 두려운 '.'을 사용할 필요가 없습니다. (점)을 PATH 변수에 추가했지만 여전히 원하는 대로 작동합니다.

관련 정보