서반은?bashrc, .zshrc 등이 필요합니까?
서반은?bashrc, .zshrc 등이 필요합니까?
최근에 조개 스크립트를 쓸 때 shebang의 필요성을 실감했다
bashrc야.zshrc 등dotfiles를 쓸 때 갑자기.bashrc야.zshrc에 대해서 말하자면, 일반적으로 말하면shibang이 필요하지 않습니까, 아니면 필요합니까?그 답사 노트가 마음에 걸려서요.
※ 개인 답사라 잘못이 있으면 검토하거나 지적해 주십시오.
ババ (shebang 옛날)과?
shebang의 #종!어렵다(저도 지금 공부하고 있어요)
이것은 평론이 아니다.
결론부터 말하면 매직 넘버즈다.
AScii 코드를 16진법으로 변환해도 같은 명령을 실행할 수 있음을 고려하면 그림이 나올 수 있습니다.
#!/bin/bash
ls
네, Magic numbers는 바로 이 0x23 0x21입니다.이것은 각자의 경험이다!을 입력합니다.다음과 같이 실행해 보면 이해할 수 있을 것이다.
eval $'\x23\x21\x2F\x62\x69\x6E\x2F\x62\x61\x73\x68'
eval $'\x6c\x73'
※ Magic number와 shiban의 본질적인 역할을 조금만 더 이해할 수 있다면 덧붙이고 싶습니다.여기에 또 다른 의문이 생겼다.
말하자면 왜 shebang이라고 하는지 전혀 기억이 안 나요.
이것은'shebang'의 비속어로 실제 의미는'Situation'이다.[1]
shitution(Shebang)이 장면의 비속어라고 생각하니 왠지 갑자기 인상이 떠올랐다.
그리고 왜 꼭 사철(shebang)을 써야 합니까?
You can have scripts without the shebang. In this case the shell that you launch the script from will be used to interpret the script. This can, obviously, lead to complications, on other systems or with other users.
A shebang looks like this: [2]
echo -e '\x23'
echo -e '\x21'
.물론 쉐뱅이 없어도 스크립트를 만들어 실행할 수 있다.
그럼 두건은 왜 필요해요?
이 경우 스크립트를 시작하는 케이스는 스크립트를 설명하는 데 사용됩니다.
그러나 알다시피 이것은 다른 시스템과 다른 사용자 사이에서 복잡해질 수 있습니다.
실제로 해보면 다음과 같이 zsh만 지원하는 문법에 오류가 발생할 수 있습니다.
일단zshrc를 복제하여 각각shebang
/bin/zsh
과/bin/sh
를 검증한다.복사된 zshrc에 shebang을 더해 보세요.
#!/bin/bash
#!/bin/zsh
# shebang->zsh
echo hoge
# 不要なので省略
fpath=(~/.zsh/completion $fpath)
autoload -Uz compinit && compinit -i
zstyle ':completion:*:default' list-colors ${(s.:.)LSCOLORS}
# 以下不要なので省略
#!/bin/sh
# shebang->sh
echo hoge
# 不要なので省略
fpath=(~/.zsh/completion $fpath)
autoload -Uz compinit && compinit -i
zstyle ':completion:*:default' list-colors ${(s.:.)LSCOLORS}
# 以下不要なので省略
여기서는 그렇습니다. 집행 권한을 주고 그대로 집행하면 읽히게 됩니다.
그리고 실제
.zshrc
에서 직접 기술#!/bin/sh
하더라도 변화 없이 탑재하여 문제없이 사용할 수 있다.위에서 말한 바와 같이 터미널을 다시 시작해도 읽히지 않습니다.
여기까지 검증한 결과, 이번 내 결론은.bashrc야.zshrc에'shebang'을 기술하는 것은 쓸모없는 자원이기 때문에 필요하지 않다고 판단합니다.
최후
같은 의문을 기사 등으로 만들 만한 것을 찾지 못해 이번에 기사를 써봤다.
내 주위에서Zshrc야.bashrc 등dotfiles에shiban을 써야 한다는 의견도 있고, 안 써도 된다는 의견도 있어 이번에 고찰했다.
"아니야, 난 샤바를 써야 돼", "확실히 샤바를 안 써도 돼"등의 의견이 있으면 댓글로 남겨주세요.
나 자신은 아직 성숙하지 않다. 만약 잘못을 발견한다면 같은 평론으로 나에게 알려주세요!
각주
Shebang meaning https://www.yourdictionary.com/shebang/ ↩︎
On the Shebang https://scriptingosx.com/2017/10/on-the-shebang/ ↩︎
Reference
이 문제에 관하여(서반은?bashrc, .zshrc 등이 필요합니까?), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://zenn.dev/_kazuya/articles/7b87aa702ab9875ae1fc텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)