예를 들어 다음과 같이 설정할 수 있습니다.
gb = cd /media/Dan/evolution
gb
... bash에서 실행할 때마다 cd
해당 특정 디렉터리로 이동할 수 있도록 하려면 ?
온라인에서 뭔가를 찾았습니다: alias
명령. 하지만 위의 작업을 완료할 수 없는 것 같습니다.
가능합니까? 어떻게?
답변1
다음을 입력하세요.
alias gb='cd /media/Dan/evolution'
이 설정을 영구적으로 만들려면(재부팅하거나 다른 콘솔을 연 후에도 유지되도록) ~/.bashrc 파일에 이 줄을 추가하세요(bash를 기본 셸로 사용한다고 가정).
답변2
별칭의 대안
gb() { cd /media/Dan/evolution; }
이는 인수를 사용하지 않고 cd /media/Dan/evolution을 실행하는 쉘 함수 gb를 정의합니다. 다른 제안과 마찬가지로 ~/.bashrc에 추가할 수 있습니다.
답변3
이것은 가능하며 alias
당신이 찾고 있는 명령입니다. 예를 들어 alias ll="ls -l"
bash에서는 별칭을 설정할 때 공백이 사용되지 ll
않습니다 ls -l
. man alias
유용할 수도 있습니다.
답변4
또는 C 프로그램을 작성하여 필요한 명령을 호출하고 이를 /usr/bin에 저장할 수 있습니다.
#include <stdio.h>
#include <string.h>
int main () {
char command[50]; //notice you can change this to fit your needs
int return_val;
strcpy( command, "echo \"cd /media/Dan/evolution\" | bash -i" );
return_val = system(command);
//this is equivalent to entering the command in a new bash,
//which will return and exit
return return_val;
}
컴파일하려면 소스 코드를 저장한 디렉터리(bash)로 이동하여 실행합니다(sudo가 필요할 수 있음).
gcc ./gb.c -o /usr/bin/gb
추가 조사 후여기system()
, 단순히 명령을 입력하는 것만 으로는 bash 내장 기능이 작동하지 않는다는 것을 깨달았습니다 . 이것이 바로 대화형 bash 인스턴스를 생성하고 여기에 명령을 반영해야 하는 이유입니다. 쉘 스크립트에 대한 호출을 단축하려는 경우가 아니면 지나치게 복잡하고 아마도 쓸모가 없을 것입니다( some_script
그렇지 않습니다 sh ~/radgeRayden/Scripts/some_script
).