유닉스 / 리눅스에서 사용자 정의 명령을 작성하는 방법은 무엇입니까? [닫은]


55

누구나 유닉스 / 리눅스에서 사용자 정의 명령을 작성하도록 안내 할 수 있습니까?


2
나중에 참조 할 수 있도록 팩트 페이지를 확인하십시오. 질문에 넣어야 할 것들을 설명합니다. (예 : 조사 및 시도한 내용 게시). 누군가가이 질문에 대해 투표를 거부 한 이유 일 것입니다.
spuder

답변:


68

/ usr / bin 폴더에 bash 스크립트를 작성하십시오.

#!/bin/bash
Whatever combination of commands you want to run when you type this thing.

정말 쉽습니다.

터미널에 입력하려는 bash 스크립트의 이름을 지정하고 실행 가능하게 만드십시오 chmod +x filename.


1
필요한 모든 단계를 포함하여 단계별 가이드로 수정 하시겠습니까? 여전히 내 자신의 사용자 정의 명령을 만드는 방법을 잘 모르겠습니다.
Yoda

5
@AndersMB, 당신 은 책읽어야합니다 . 많은 사람들이 무료로 이용할 수 있습니다. "Linux 명령 행"으로 시작하십시오 .
와일드 카드

음 .. 농담 이었어요. 그는이 농담, 바로?!
Somenath Sinha

1
다음으로 실행./filename
Squirrl

46
  1. 홈 디렉토리 아래에 "bin"이라는 디렉토리를 작성하십시오.
  2. 이 bin 디렉토리를 포함하도록 경로 변수를 업데이트하십시오. 영구적으로 만들려면 파일 .profile이나 .bash_profle파일에 넣으십시오 .

    export PATH=$PATH":$HOME/bin"

  3. "hello"라는 스크립트를 작성하고 bin 디렉토리에 보관하십시오. 로 hello 스크립트에 실행 권한을 부여하십시오 $ chmod +x hello.

    #!/bin/bash    
    echo My first program
  4. 새로 고침 .profile또는 .bash_profle:

    $ . ~/.bash_profile

  5. 어느 디렉토리에서나 간단히 다음을 입력하십시오.

    $ hello
    My first program

나는 이것이 매우 오래되었다는 것을 알고 있지만 bin여기에 많은 답변 으로 폴더를 만들라는 당신의 제안을 보았습니다 . ? .bin대신에 문제 가 bin있습니까? 나는 내 home외모 에 대해 정말로 까다 롭고 여분의 폴더를 원하지 않기 때문입니다.
MO

나는 이것을 성공적으로 사용하려고 시도했지만 내 zsh설치에 문제가 있다고 생각하는 동안 매우 좌절 $PATH했지만 결국 chmod -x hello작동하지 않았고 수도도 아닙니다 -X. 대신 나는 chmod 755 hello이 명령과 관련하여 보안 위험이 확실하지 않지만 실제로 실행할 수 있도록 시도했다 hello. 누구든지 이것에 대한 설명이 있습니까? 나이와 관련하여 문제가 있다고 가정합니까?
ConstantFun

1
@ConstantFun chmod +x hello스크립트에 '실행'권한을 추가하는 데 사용 합니다. chmod -x hello정반대- '실행'권한을 제거합니다. (답과 주석에서 더하기 / 빼기 부호 차이에 유의하십시오.)
Filip Happy

25

쉽고, 별칭을 만듭니다.

다운로드 디렉토리에 cd 명령을 작성한다고 가정하십시오. 그리고 당신은 그것을 cdd라고 부르고 싶습니다.

alias cdd='cd ~/Downloads' 

원하는 명령을 만들 수 있습니다.

추가 정보는 다음과 같습니다.
http://www.mediacollege.com/linux/command/alias.html


6
그러나 이것은 여러 세션에서 지속되지 않습니다. 이 명령은 작동하지만 영구적이지 않습니다. 보다 영구적 인 방법은 ~ / .bash_aliases 파일을 수정하고 여기에 제안한 줄을 추가하는 것입니다.
Jeff Grimes 2016 년

2
~ / .bashrc 파일에 추가하여 작동합니다
Delicia Brummitt

11

전부는 아니더라도 대부분 Linux 배포판에는 ~ / .bashrc 에 다음과 거의 동일한 스크립트가 있습니다 .

if [ -e ~/.bash_aliases ]
then
. ~/.bash_aliases
fi

이것은 단지 당신이 당신 자신의 명령을 생성 할 수 있다는 것을 의미합니다 ( ' aliases'는 일반적으로 항상 사용해야하는 인수 또는 순서대로 실행되어야하는 명령 목록과 함께 기존 명령을 참조합니다).

Linux 배포판은 .bash_aliases 파일을 집에서 직접 만들지 않은 경우가 대부분입니다. 파일을 작성하려면 다음 명령을 입력하십시오.
touch ~/.bash_aliases

이제 새로운 터미널을 시작할 때마다 해당 파일이 자동으로 실행됩니다.

지금 할 수있는 작업은 별칭 목록을 만들어 나중에 사용할 수 있도록 해당 파일에 추가하는 것입니다. 예를 들어, rm(remove) 명령은 기본적으로 파일 / 디렉토리 삭제 요청시 요청을 확인하도록 요청하지 않습니다. 그러나 rm귀하의 요청을 확인하도록 요청 하는 주장이 -i있습니다. 따라서 rm -i filePath지정된 파일을 삭제할 것인지 묻는 메시지가 표시됩니다. 실수로 파일을 삭제했다면 -i옵션 을 포함하는 것을 잊어 버릴 가능성이 매우 높습니다 alias. 다음 명령을 입력

echo "alias rm='\rm -i'" >> ~/.bash_aliases

말할 것이다 Bash당신이 파일을 삭제를 요청할 때마다이하는 확인 메시지가 사용자에게 표시됩니다. 물론 할 수있는 일이 훨씬 더 많습니다. 기본 사항 일뿐입니다.

당신은 (즉, 몇 가지 기본적인 명령을 사용하는 방법을 배우고 싶다면 cd, touch, rm, mkdir, pushd, popd, 등) 및 / 또는보다 정교한 것들, 나는라는 기준으로 책장에 당신이 할 수있는 아주 좋은 책을 권 해드립니다

리눅스에 대한 실용적인 가이드는 편집자와 쉘 프로그래밍 명령 에 의해, 마크 G 소벨 . ISBN : 978-0133085044


1
왜 백 슬래시?
phil294
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.