앞에 "$"기호가 있는 복사된 CLI 명령을 실행하는 방법
4160 단어 webdevdevelopmentbash
방금 봤어요 an npm package that makes copying and pasting of shell commands easier . 문서화된 셸 명령에는 코드 블록이 셸 명령임을 나타내는 선행 문자(예:
$
)가 포함되는 경우가 많습니다. 그리고 당신이 나와 같을 때, 당신은 항상 명령과 함께 $ npm install whatever
기호를 복사하여 붙여넣기 때문에 터미널에서 $
오류가 발생합니다.큰 문제는 아니지만
command not found: $
기호를 포함하지 않도록 명령을 조심스럽게 복사하거나 명령을 터미널에 붙여넣고 수동으로 달러를 제거해야 합니다. 더 좋은 방법이 있을텐데...... 그리고 그것이 언급된 npm 패키지가 작동하는 곳입니다. 패키지는 명령줄에서 프록시처럼 작동하는 전역
$
명령을 제공합니다. $
명령은 단순히 전달된 모든 인수를 실행합니다.$
는 실행$ echo "hello world"
으로 이어집니다. echo "hello world"
는 기본적으로 $ ls
와 동일합니다. 당신은 아이디어를 얻습니다. 🙈이 명령은 터미널을 집처럼 느끼게 하는 작은 조정 중 하나입니다. 하지만 두 줄의 셸 스크립팅을 사용하여 npm 패키지나 Node.js 없이 동일한 기능을 만들 수 있다고 말하면 어떻게 될까요? 읽어!
선행 ls로 명령을 실행하는 두 줄
시스템에 새 셸 명령을 추가하여 시작하겠습니다.
$
구성을 살펴보십시오. $PATH
환경 변수는 UNIX 시스템에서 실행 파일이 있는 위치를 정의합니다.그것은 내 컴퓨터
$PATH
의 단축 버전입니다. 👇$ echo $PATH
/usr/local/bin:/usr/local/sbin:/Users/stefanjudis/bin:/Users/stefanjudis/.bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin
$PATH
는 $PATH
로 모든 다른 위치를 구분하는 긴 문자열입니다. 보시다시피 다양한 :
디렉토리가 있습니다. 내 모든 사용자 정의 명령은 내 집의 bin
디렉토리 – .bin
에 있습니다. 시스템 명령과 사용자 지정 명령을 혼합하고 싶지 않기 때문에 이 위치를 선택했습니다( ~/stefanjudis/.bin
, ls
등은 cat
에 있음).새 명령을 배치할 디렉토리를 선택하십시오.
$ pwd
/Users/stefanjudis/.bin
$ ll
.rwxr--r-- 14 stefanjudis 8 Dec 2020 -- $
.rwxr-xr-x 413 stefanjudis 2 Aug 2020 -- git-delete-branch
.rwxr-xr-x 183 stefanjudis 19 May 22:03 -- git-pr-select
.rwxr-xr-x 538 stefanjudis 17 Dec 2020 -- git-select
이 디렉터리에
/bin
라는 새 파일을 만듭니다. 예, 맞습니다. 이 파일에는 파일 확장자 같은 것이 포함되어 있지 않습니다. 실제로는 1달러에 불과합니다.$
를 사용하여 파일이 실행 가능한지 확인하십시오.이전에
chmod 755 $
명령을 사용한 적이 없다면 "UNIX 파일 권한"을 읽어 보십시오.파일 내용은 두 줄입니다.
#!/bin/zsh
exec "$@"
첫 번째 행은 a Shebang이며 이 파일을 독립 실행형 명령으로 실행할 때 이 파일을 해석하는 데 사용해야 하는 프로그램을 정의합니다. 제 경우에는
chmod
바이너리 – zsh
입니다. #!/bin/zsh
도 잘 작동합니다.그런 다음
#!/bin/bash
가 전달된 모든 매개변수를 실행하고 확장합니다. 그리고 그것은 이미 모든 마법입니다!exec "$@"
to avoid parameter expansions 주위에 따옴표를 포함해야 합니다.두 줄을 포함하는 이 하나의 파일을 사용하여 이제 터미널에서
$@
및 이러한 모든 "달러 명령"을 실행할 수 있습니다. 🎉행복한 복사 및 붙여넣기!
편집: "okdjnfweonfe" 및 초기 스크립트에 대한 피드백을 제공해 주셔서 감사합니다. 🙇♂️
Reference
이 문제에 관하여(앞에 "$"기호가 있는 복사된 CLI 명령을 실행하는 방법), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/stefanjudis/how-to-just-run-cli-commands-with-a-leading-sign-5fkk텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)