예를 들어 다음을 설정할 수 있습니다.
gb = cd /media/Dan/evolution
... gb
bash에서 실행할 때마다 cd
특정 디렉토리로 갈 수 있습니까?
온라인에서 무언가를 찾았습니다 : alias
명령. 그러나 위의 작업을 수행 할 수없는 것 같습니다.
그것을 할 수 있습니까? 방법?
예를 들어 다음을 설정할 수 있습니다.
gb = cd /media/Dan/evolution
... gb
bash에서 실행할 때마다 cd
특정 디렉토리로 갈 수 있습니까?
온라인에서 무언가를 찾았습니다 : alias
명령. 그러나 위의 작업을 수행 할 수없는 것 같습니다.
그것을 할 수 있습니까? 방법?
답변:
그냥 입력하십시오 :
alias gb='cd /media/Dan/evolution'
이 설정을 영구적으로 만들려면 (다른 콘솔을 다시 시작하거나 연 후에 고정되도록) ~ / .bashrc 파일에이 줄을 추가하십시오 (bash를 기본 쉘로 사용한다고 가정)
앨리어싱의 대안
gb() { cd /media/Dan/evolution; }
이것은 쉘 함수 gb를 정의하는데, 인수를 취하지 않고 cd / media / Dan / evolution을 수행합니다. 다른 제안과 마찬가지로 ~ / .bashrc에 추가 할 수 있습니다
type gb
것은 그것이 별명 이거나 함수 라면 효과적 입니다.
{ echo 'true() { : ; }' >./script ; . ./script ; command -V true ; command -V /usr/bin/true ; }
- true is a shell function\n/usr/bin/true is /usr/bin/true
- \n
문자가 출력 문자 줄 바꿈했다.
또는 원하는 명령을 호출하는 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
).
sh -c "cd /media/Dan/evolution"
작동하지 않습니다. 힌트 : 서브 쉘
cd
/ subshell 문제를 제외하고 쉘 프로그램에 쉘 명령을 쉽게 (또는 더 쉽게) 넣을 수있을 때 c 프로그램에서 쉘 명령을 래핑 할 때의 이점은 무엇입니까?
alias gb='cd /media/Dan/evolution'