표정화 나의 Bash 힌트 (그리고 왜 너도 이렇게 해야 하는지)
이 글은 약간의 어리석은 것들을 포함하고 있다.만약 네가 자신을 너무 진지하게 본다면, 너는 그렇게 이상하지 않은 것을 찾아서 읽고 싶을 것이다.
/경고
우리 현실에 직면합시다. 개발 작업은 때때로 심리에 큰 영향을 미칠 수 있습니다.현실에 맞지 않는 프로젝트 마감일이 다가오거나 산더미처럼 쌓인 기술 채무가 눈앞에 닥쳤을 때, 때로는 작은 즐거움만으로도 하루를 보낼 수 있다.나로 하여금 이성을 유지하게 하는 한 가지 일은 작은 방법을 찾아 하루에 작은 즐거움을 폭발시키는 것이다.이것이 바로 몇 주 전, 내가 새 노트북을 한 대 샀을 때, 나는 사방을 돌아다니며 재미있는 방법을 찾아 문제를 해결하기로 결정한 이유이다.어떻게 물어봐요?표정을 통해 나의 bash 알림부호를 그려라.
왜, 왜, 너는 이렇게 어리석은 일을 할 수 있니?
응, 이 모든 것은 내가 낡은 노트북에서 발견한 두 가지 다른 문제에서 시작된다.다른 모든 것이 정상적으로 일할 때, 시간을 들여 해결할 가치가 없는 작은 고민.나는 새 노트북을 한 대 사면 그것을 조정하고 설정하는 데 며칠의 시간이 필요하다. 그리고 나의 설정은 적어도 몇 달 동안 동결된다.이것은 내가 점차적으로 설정을 개선하는 데 도움이 되지만, 내가 끊임없는 조정과 테스트 순환에 빠지지 않도록 방지하고, 영원히 어떠한 실제 작업도 완성할 수 없다.나는 개발자들이 그들의 워크스테이션을 배치할 때 방향을 잃어버려서 한 달도 소용이 없는 것을 보았다. 나는 영원히 그 녀석이 되고 싶지 않다.
특이한 힌트.
나는 줄곧 bash 알림부호를 맞춤형으로 만드는 방법이 있다.나는 기본값을 좋아하지 않는다.나의 마지막 워크스테이션은 모든 서버와 기본적으로 같은 힌트를 가지고 있다.
hostname:/current/directory/here
->
분명히 이것은 별다른 것이 없지만 나를 맞춤형으로 만드는 힌트는 내가 Bash에서 가장 먼저 생각한 일 중 하나이다. 내가 최종적으로 자신의 뜻에 따라 그것을 사용할 때 그 승리의 느낌을 생각하면 나는 여전히 기쁨을 느낀다.
몇 대의 노트북을 사용한 후에 나는 이 알림을 개선하여 내가 언제 홈 디렉터리의 하위 디렉터리에 있는지 검사하고 메인 경로를 ~
로 바꾸었다.내가 그것을 보았을 때, 또 하나의 작은 즐거움이었다.
지금 나는 새 노트북을 설치하고 있는데, 나는 나의 제시에 싫증이 났다.우선, 나는 그것에 색을 첨가하고 싶었지만, 곧 싫증이 났다. 그것은 간단한 힌트보다 더 흥분되지는 않았다.그리고 brew
소프트웨어 패키지를 설치할 때, 나는 당신이 물건을 성공적으로 설치할 때 작은 맥주 이모티콘이 튀어나온다는 것을 알아차렸고, 나는 이모티콘을 가지고 놀면 어떨까 생각하기 시작했다.최근에 내가 간단한 프레젠테이션이나 예시를 꺼내야 할 때마다 나는 이모티콘으로 어리석은 짓을 하는 경향이 있다. 이모티콘과 같은 어리석은 것을 진지하게 대하면 나를 웃게 하기 때문이다.
그렇다면 어떻게 하면 나의 즉각적인 환상을 만들 수 있을까?
그래, 다음은 방법이다.
output
나는 정말 많이 하지 않았다. - 나는 단지 내 것~
을 한 ðаааааааа로 교체했을 뿐이다.하지만 이 이모티콘들을 볼 때마다 내 생활은 더욱 좋아진다.
내가 다른 이모티콘을 추가했다는 것을 알게 될 것이다. 이 노트북에서 나는 업무와 관련된 모든 코드를 ~/work
아래에 저장했기 때문에 나는 이 경로를 오피스텔로 대체하기로 결정했다.왜?왜 안 해요?나는 결국 이런 대체품을 더 추가할 수 있지만, 나는 이미 내가 강제로 조정할 시간을 다 소모했다.아마도 나는 ~/Documents
를 🕔 및 /tmp
– NU³로 설정할 것이다. 나는 틀림없이 🕔 로 바꿀 수 있는 몇 가지 항목 목록을 생각할 수 있을 것이다. 그러나 이것은 다른 노트북의 문제이다.
따라서 내 프롬프트 설정은 복잡하지 않습니다.
fancyprompt() {
echo
where=$PWD
home=$HOME
work="$home/work"
where="${where/$work/🢠}"
where="${where/$home/ðŸ }"
PS1='$where
â© '
}
PROMPT_COMMAND=fancyprompt
그런데 더 유행할 수 있을까요?
물론
최신 정보
다시 한 번, 나의 모든 일반brew
소프트웨어 패키지를 설치할 때, 나는 내가 자체 제작 소프트웨어에서 겪은 문제인 유행이 지난 소프트웨어 패키지에 대해 생각하기 시작했다.나는 이렇게 많은 업데이트를 누적시키고 아무것도 하지 않을 것이다. 그래서 내가 정말 업데이트를 필요로 할 때, 나는 brew upgrade
로 30분을 운행할 것이다. 나는 이런 것을 좋아하지 않는다.그럼, 이 문제를 해결할 수 있는 재미있는 방법을 찾을 수 있을까요?만약 내가 너에게 말하지 않았다면, 내가 여기서 너에게 알려주었을까?나는 그렇게 생각하지 않는다!
내가 결정한 생각은 내가 언제 brew 업데이트를 설치해야 하는지 알려주는 화려한 힌트를 강화하는 것이다.
나의 최초의 실현은 다음과 같다.
fancyprompt() {
brew update
outdated=`brew outdated --quiet | wc -l | tr -d '[:space:']`
if [ "$outdated" -gt "0" ]; then
echo -e "\x1B[104m\x1B[97m🺠You have $outdated brew update(s).🺠\x1B[0m"
fi
...the rest of my prompt...
}
이게 작용했어...느릿느릿brew update
네트워크 IO를 포함한 많은 작업을 해야 하기 때문에 매우 느리다.따라서, 나는 brew update
매일 실행되는cron 작업으로 옮길 것이다.
PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/sbin:/usr/local/bin
@daily brew update
(누가 워크스테이션에서cron을 사용합니까? 분명히 저입니다!)
이제 프롬프트에서 삭제할 수 있습니다 brew update
.내 힌트는...속도가 느리다.brew outdated
도 상당히 느리고 실행에 약 500밀리초가 걸린다는 사실이 증명되었다.나는 실제 무슨 일이 일어났는지 전혀 모르기 때문에 루비 프로세스를 시작해서 brew를 나의 간판 요리로 실행하기로 했다.어쨌든 500ms가 최선의 선택이다.또한느리다명령을 입력하고 알림이 돌아오기를 기다릴 때마다 나는 죽을 것 같았다.그래서 더 미쳐버릴 수밖에 없었어요.
나는 brew outdated
검사도 나의 cron 작업으로 이동하여 출력을 /tmp
중의 작은 파일에 써서 속도 문제를 해결했다.
@daily brew update && brew outdated --quiet | wc -l | tr -d '[:space:'] > /tmp/.brew-outdated
지금, 나는 나의 유행이 지난 brew 패키지를 포함하는 파일이 하나 있다.내가 해야 할 일은 바로 나의 제시 기능에서 그것을 읽는 것이다. 그것은 매우 빠르다.
outdated=0
if [ -f "/tmp/.brew-outdated" ]; then
outdated=`cat /tmp/.brew-outdated`
fi
대단히 좋다지금, 내가 brew 업데이트가 있을 때마다 나는 즐거운 작은 맥주 이모티콘과 좋은 소식을 볼 수 있다.
근데 저희가 더 좋아할 수 있을까요?
친애하는 독자여, 두려워하지 마라, 우리는 할 수 있다!
모든 패키지 업데이트
사실은 내가 더 많은 패키지 관리자를 업데이트해야 한다는 것을 증명한다.나는 웹 개발을 좀 했기 때문에, 물론, 나는 npm 패키지가 많고, 나는 pip를 설치해야 한다. 왜냐하면 우리의 많은 배치 도구는 모두Python으로 작성되었기 때문이다.그렇다면, 이 업데이트를 얻기 위해 확장할 수 있습니까?
하지만 당연하지!
나는 마침내 이 문제를 처리하기 위해 몇 개의 추가 함수를 만들었고, 업데이트를 검사하기 위해 스크립트를 만들었다.
#!/bin/bash
check_brew() {
echo checking brew
brew update
brew outdated --quiet | wc -l | tr -d '[:space:]' > /tmp/.brew-outdated
}
check_npm() {
echo checking npm
npm outdated --global | wc -l | tr -d '[:space:]' > /tmp/.npm-outdated
}
check_pip() {
echo checking pip2
pip2 list --outdated --format=legacy | wc -l | tr -d '[:space:]' > /tmp/.pip2-outdated
echo checking pip3
pip3 list --outdated --format=legacy | wc -l | tr -d '[:space:]' > /tmp/.pip3-outdated
}
check_brew
check_npm
check_pip
각 파일에는 /tmp/.(toolname)-outdated
라는 파일이 기록됩니다.그리고 내 bash 프로필에 도구 이름과 이모티콘을 지정하는 함수가 있습니다. 이 함수들은 적당한 파일을 검사하고 메시지를 표시합니다.
_count_updates() {
type=$1
f=/tmp/.$type-outdated
upd=0
if [ -f "$f" ]; then
upd=`cat $f`
fi
echo $upd
}
_has_updates() {
type=$1
cnt=`_count_updates $type`
if [ "$cnt" -gt "0" ]; then
return 0
fi
return 1
}
_update_prompt() {
type=$1
icon=$2
upd=`_count_updates $type`
if [ "$upd" -gt 0 ]; then
echo -e "\x1B[104m\x1B[97m$icon You have $upd $1 update(s).$icon \x1B[0m"
fi
}
# configure my multi-line prompt
fancyprompt() {
echo
_update_prompt brew ðŸº
_update_prompt npm 📦
_update_prompt pip2 ðŸ
_update_prompt pip3 ðŸ
where=$PWD
home=$HOME
work="$home/work"
where="${where/$work/🢠}"
where="${where/$home/ðŸ }"
PS1='$where
â© '
}
그리고 나서 나는 정확한 명령을 기억해서 모든 내용을 업데이트하는 것은 고통스러운 일이다. 주로 Pip이 이상하기 때문에 bash 프로필에 함수를 만들었는데 이것은 나를 위해 어떻게 하는지 안다.
update_all() {
if _has_updates brew; then
echo "Updating Brew"
brew upgrade
fi
if _has_updates npm; then
echo "Updating NPM"
npm update -g
fi
if _has_updates pip2; then
echo "Updating Pip2"
pip2 list --outdated --format=freeze | cut -d = -f 1 | xargs -n1 pip2 install -U
echo "Running pip update again, because that's necessary"
pip2 list --outdated --format=freeze | cut -d = -f 1 | xargs -n1 pip2 install -U
fi
if _has_updates pip3; then
echo "Updating Pip3"
pip3 list --outdated --format=freeze | cut -d = -f 1 | xargs -n1 pip3 install -U
echo "Running pip update again, because that's necessary"
pip3 list --outdated --format=freeze | cut -d = -f 1 | xargs -n1 pip3 install -U
fi
echo "Finshed updating"
~/bin/fancy-prompt/outdated-packages.sh
}
마지막으로 나는 pip2와 pip3 두 번의 업데이트를 실행해야 했다. 왜냐하면 최종적으로 거의 항상 업데이트가 필요한 가방이 더 많기 때문이다.
애호가!
아니요. 일주일에 한 시간씩 이걸 조정하는 데 걸렸어요. 제 설정 시간을 다 썼어요.앞으로 패키지 관리자를 더 쉽게 추가하거나 리눅스에서 실행할 수 있도록 추가할 수 있습니다.그러나 이것은 나의 다음 노트북의 일이다.
다음 단계
필요한 경우 (Github)[
]에서 내 스크립트를 다운로드할 수 있습니다.나는 어떤 도움이나 지지도 약속하지 않지만, 나는 미래에 조정할 것이다.
나는 또 너에게 한번 보라고 건의한다https://github.com/ThatJoeMoore/fancy-prompt.그것은 당신의git 환매를 유쾌하게 합니다.나는 심지어 그것을 위해 정서적인 주제를 설계했다. 왜냐하면 나는 당연히 했기 때문이다.
bashgit 알림
결론, 어쩌면 아직 깊은 사고가 있을지도 모른다
나는 이것이 완전히 터무니없는 첫 번째 게시물이라는 것을 깨달았지만, 나는 확실히 이런 터무니없는 게시물을 쓸 이유가 있다.
너는 이렇게 많은 시간을 이렇게 자질구레한 일에 쓴 것을 후회하니?
아니.한 달 가까이 지나도 이 작은 이모티콘들을 보니 즐거웠다.어쩌면 빛은 결국 사라질지도 모르지만, 그 전까지는 충분히 가치가 있었다.
근데 왜!?!
왜냐하면 그것은 나를 즐겁게 하기 때문이다.
지금 우리는 내 문장의 심층으로 들어간다.
개발자로서 스트레스를 받을 수도 있다.통상적으로 우리에게는 많은 스트레스가 있는데, 우리의 직접적인 팀원들을 제외하고는 큰 영광이나 인정을 가져오지 않는다.너는 고객에게 백금과 다이아몬드가 박힌 것이 아니라고 불평하는 예쁜 프로그램을 건네주었다.우리는 늦게까지 일했고, 응용 프로그램의 실행을 유지하기 위해 잠을 이루지 못했다. 우리는 피자를 너무 많이 먹었다. (내 프로젝트 팀이 피자 두 개를 더 먹을 수 있도록 확보하려고 하지 마라!)
우리는 신체적으로든 심리적으로든 감정적으로든 자신을 돌볼 방법을 찾아야 한다.어떤 사람들은 점심시간을 이용하여 신체를 단련할 수도 있다.어떤 사람들은 예쁜 입식 책상이나 레고 스타워즈 세트, 혹은 책상 위에 놓인 아이의 사진에서 즐거움을 얻을 수 있다.나로서는 bash 알림부호를 표정화하는 것과 관련이 있다.
만약 당신이 단지 개발자가 되고 싶다면, 물론, 계속해서, 사소한 일을 뛰어넘어라.그러나 나는 우리 대다수 사람들도 한 사람이 되기를 원한다고 생각한다. 이것은 코드뿐만 아니라.만약 나의 경험이 나에게 무엇을 알려준다면, 그것은 가장 좋은 코드는 시간을 들여 전면적으로 발전하는 사람, 그리고 하루 종일 온갖 방법을 다 동원하여 자신을 즐겁게 하는 사람들에게서 나온 것이다.마리 보핀스의 한마디를 흐트러뜨리기 위해 "설탕 한 숟가락은 개발자가 이성을 유지하는 데 도움을 줄 수 있다."
이것이 바로 내가 때때로 나의 힌트를 표정화하는 것과 같은 우스운 것들을 너무 오래 노는 이유이다.내가 하는 일은 단지 나를 즐겁게 하는 것만은 아니지만, 이런 사소한 일들은 내가 가끔씩 긴 하루 동안 즐거움을 유지하는 데 도움을 줄 수 있다.너에게 유용한 어리석은 일을 찾아서 해라.
Reference
이 문제에 관하여(표정화 나의 Bash 힌트 (그리고 왜 너도 이렇게 해야 하는지)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://dev.to/thatjoemoore/emojifying-my-bash-prompt
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
나는 줄곧 bash 알림부호를 맞춤형으로 만드는 방법이 있다.나는 기본값을 좋아하지 않는다.나의 마지막 워크스테이션은 모든 서버와 기본적으로 같은 힌트를 가지고 있다.
hostname:/current/directory/here
->
분명히 이것은 별다른 것이 없지만 나를 맞춤형으로 만드는 힌트는 내가 Bash에서 가장 먼저 생각한 일 중 하나이다. 내가 최종적으로 자신의 뜻에 따라 그것을 사용할 때 그 승리의 느낌을 생각하면 나는 여전히 기쁨을 느낀다.몇 대의 노트북을 사용한 후에 나는 이 알림을 개선하여 내가 언제 홈 디렉터리의 하위 디렉터리에 있는지 검사하고 메인 경로를
~
로 바꾸었다.내가 그것을 보았을 때, 또 하나의 작은 즐거움이었다.지금 나는 새 노트북을 설치하고 있는데, 나는 나의 제시에 싫증이 났다.우선, 나는 그것에 색을 첨가하고 싶었지만, 곧 싫증이 났다. 그것은 간단한 힌트보다 더 흥분되지는 않았다.그리고
brew
소프트웨어 패키지를 설치할 때, 나는 당신이 물건을 성공적으로 설치할 때 작은 맥주 이모티콘이 튀어나온다는 것을 알아차렸고, 나는 이모티콘을 가지고 놀면 어떨까 생각하기 시작했다.최근에 내가 간단한 프레젠테이션이나 예시를 꺼내야 할 때마다 나는 이모티콘으로 어리석은 짓을 하는 경향이 있다. 이모티콘과 같은 어리석은 것을 진지하게 대하면 나를 웃게 하기 때문이다.그렇다면 어떻게 하면 나의 즉각적인 환상을 만들 수 있을까?
그래, 다음은 방법이다.
output
나는 정말 많이 하지 않았다. - 나는 단지 내 것
~
을 한 ðаааааааа로 교체했을 뿐이다.하지만 이 이모티콘들을 볼 때마다 내 생활은 더욱 좋아진다.내가 다른 이모티콘을 추가했다는 것을 알게 될 것이다. 이 노트북에서 나는 업무와 관련된 모든 코드를
~/work
아래에 저장했기 때문에 나는 이 경로를 오피스텔로 대체하기로 결정했다.왜?왜 안 해요?나는 결국 이런 대체품을 더 추가할 수 있지만, 나는 이미 내가 강제로 조정할 시간을 다 소모했다.아마도 나는 ~/Documents
를 🕔 및 /tmp
– NU³로 설정할 것이다. 나는 틀림없이 🕔 로 바꿀 수 있는 몇 가지 항목 목록을 생각할 수 있을 것이다. 그러나 이것은 다른 노트북의 문제이다.따라서 내 프롬프트 설정은 복잡하지 않습니다.
fancyprompt() {
echo
where=$PWD
home=$HOME
work="$home/work"
where="${where/$work/🢠}"
where="${where/$home/ðŸ }"
PS1='$where
â© '
}
PROMPT_COMMAND=fancyprompt
그런데 더 유행할 수 있을까요?물론
최신 정보
다시 한 번, 나의 모든 일반brew
소프트웨어 패키지를 설치할 때, 나는 내가 자체 제작 소프트웨어에서 겪은 문제인 유행이 지난 소프트웨어 패키지에 대해 생각하기 시작했다.나는 이렇게 많은 업데이트를 누적시키고 아무것도 하지 않을 것이다. 그래서 내가 정말 업데이트를 필요로 할 때, 나는 brew upgrade
로 30분을 운행할 것이다. 나는 이런 것을 좋아하지 않는다.그럼, 이 문제를 해결할 수 있는 재미있는 방법을 찾을 수 있을까요?만약 내가 너에게 말하지 않았다면, 내가 여기서 너에게 알려주었을까?나는 그렇게 생각하지 않는다!
내가 결정한 생각은 내가 언제 brew 업데이트를 설치해야 하는지 알려주는 화려한 힌트를 강화하는 것이다.
나의 최초의 실현은 다음과 같다.
fancyprompt() {
brew update
outdated=`brew outdated --quiet | wc -l | tr -d '[:space:']`
if [ "$outdated" -gt "0" ]; then
echo -e "\x1B[104m\x1B[97m🺠You have $outdated brew update(s).🺠\x1B[0m"
fi
...the rest of my prompt...
}
이게 작용했어...느릿느릿brew update
네트워크 IO를 포함한 많은 작업을 해야 하기 때문에 매우 느리다.따라서, 나는 brew update
매일 실행되는cron 작업으로 옮길 것이다.
PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/sbin:/usr/local/bin
@daily brew update
(누가 워크스테이션에서cron을 사용합니까? 분명히 저입니다!)
이제 프롬프트에서 삭제할 수 있습니다 brew update
.내 힌트는...속도가 느리다.brew outdated
도 상당히 느리고 실행에 약 500밀리초가 걸린다는 사실이 증명되었다.나는 실제 무슨 일이 일어났는지 전혀 모르기 때문에 루비 프로세스를 시작해서 brew를 나의 간판 요리로 실행하기로 했다.어쨌든 500ms가 최선의 선택이다.또한느리다명령을 입력하고 알림이 돌아오기를 기다릴 때마다 나는 죽을 것 같았다.그래서 더 미쳐버릴 수밖에 없었어요.
나는 brew outdated
검사도 나의 cron 작업으로 이동하여 출력을 /tmp
중의 작은 파일에 써서 속도 문제를 해결했다.
@daily brew update && brew outdated --quiet | wc -l | tr -d '[:space:'] > /tmp/.brew-outdated
지금, 나는 나의 유행이 지난 brew 패키지를 포함하는 파일이 하나 있다.내가 해야 할 일은 바로 나의 제시 기능에서 그것을 읽는 것이다. 그것은 매우 빠르다.
outdated=0
if [ -f "/tmp/.brew-outdated" ]; then
outdated=`cat /tmp/.brew-outdated`
fi
대단히 좋다지금, 내가 brew 업데이트가 있을 때마다 나는 즐거운 작은 맥주 이모티콘과 좋은 소식을 볼 수 있다.
근데 저희가 더 좋아할 수 있을까요?
친애하는 독자여, 두려워하지 마라, 우리는 할 수 있다!
모든 패키지 업데이트
사실은 내가 더 많은 패키지 관리자를 업데이트해야 한다는 것을 증명한다.나는 웹 개발을 좀 했기 때문에, 물론, 나는 npm 패키지가 많고, 나는 pip를 설치해야 한다. 왜냐하면 우리의 많은 배치 도구는 모두Python으로 작성되었기 때문이다.그렇다면, 이 업데이트를 얻기 위해 확장할 수 있습니까?
하지만 당연하지!
나는 마침내 이 문제를 처리하기 위해 몇 개의 추가 함수를 만들었고, 업데이트를 검사하기 위해 스크립트를 만들었다.
#!/bin/bash
check_brew() {
echo checking brew
brew update
brew outdated --quiet | wc -l | tr -d '[:space:]' > /tmp/.brew-outdated
}
check_npm() {
echo checking npm
npm outdated --global | wc -l | tr -d '[:space:]' > /tmp/.npm-outdated
}
check_pip() {
echo checking pip2
pip2 list --outdated --format=legacy | wc -l | tr -d '[:space:]' > /tmp/.pip2-outdated
echo checking pip3
pip3 list --outdated --format=legacy | wc -l | tr -d '[:space:]' > /tmp/.pip3-outdated
}
check_brew
check_npm
check_pip
각 파일에는 /tmp/.(toolname)-outdated
라는 파일이 기록됩니다.그리고 내 bash 프로필에 도구 이름과 이모티콘을 지정하는 함수가 있습니다. 이 함수들은 적당한 파일을 검사하고 메시지를 표시합니다.
_count_updates() {
type=$1
f=/tmp/.$type-outdated
upd=0
if [ -f "$f" ]; then
upd=`cat $f`
fi
echo $upd
}
_has_updates() {
type=$1
cnt=`_count_updates $type`
if [ "$cnt" -gt "0" ]; then
return 0
fi
return 1
}
_update_prompt() {
type=$1
icon=$2
upd=`_count_updates $type`
if [ "$upd" -gt 0 ]; then
echo -e "\x1B[104m\x1B[97m$icon You have $upd $1 update(s).$icon \x1B[0m"
fi
}
# configure my multi-line prompt
fancyprompt() {
echo
_update_prompt brew ðŸº
_update_prompt npm 📦
_update_prompt pip2 ðŸ
_update_prompt pip3 ðŸ
where=$PWD
home=$HOME
work="$home/work"
where="${where/$work/🢠}"
where="${where/$home/ðŸ }"
PS1='$where
â© '
}
그리고 나서 나는 정확한 명령을 기억해서 모든 내용을 업데이트하는 것은 고통스러운 일이다. 주로 Pip이 이상하기 때문에 bash 프로필에 함수를 만들었는데 이것은 나를 위해 어떻게 하는지 안다.
update_all() {
if _has_updates brew; then
echo "Updating Brew"
brew upgrade
fi
if _has_updates npm; then
echo "Updating NPM"
npm update -g
fi
if _has_updates pip2; then
echo "Updating Pip2"
pip2 list --outdated --format=freeze | cut -d = -f 1 | xargs -n1 pip2 install -U
echo "Running pip update again, because that's necessary"
pip2 list --outdated --format=freeze | cut -d = -f 1 | xargs -n1 pip2 install -U
fi
if _has_updates pip3; then
echo "Updating Pip3"
pip3 list --outdated --format=freeze | cut -d = -f 1 | xargs -n1 pip3 install -U
echo "Running pip update again, because that's necessary"
pip3 list --outdated --format=freeze | cut -d = -f 1 | xargs -n1 pip3 install -U
fi
echo "Finshed updating"
~/bin/fancy-prompt/outdated-packages.sh
}
마지막으로 나는 pip2와 pip3 두 번의 업데이트를 실행해야 했다. 왜냐하면 최종적으로 거의 항상 업데이트가 필요한 가방이 더 많기 때문이다.
애호가!
아니요. 일주일에 한 시간씩 이걸 조정하는 데 걸렸어요. 제 설정 시간을 다 썼어요.앞으로 패키지 관리자를 더 쉽게 추가하거나 리눅스에서 실행할 수 있도록 추가할 수 있습니다.그러나 이것은 나의 다음 노트북의 일이다.
다음 단계
필요한 경우 (Github)[
]에서 내 스크립트를 다운로드할 수 있습니다.나는 어떤 도움이나 지지도 약속하지 않지만, 나는 미래에 조정할 것이다.
나는 또 너에게 한번 보라고 건의한다https://github.com/ThatJoeMoore/fancy-prompt.그것은 당신의git 환매를 유쾌하게 합니다.나는 심지어 그것을 위해 정서적인 주제를 설계했다. 왜냐하면 나는 당연히 했기 때문이다.
bashgit 알림
결론, 어쩌면 아직 깊은 사고가 있을지도 모른다
나는 이것이 완전히 터무니없는 첫 번째 게시물이라는 것을 깨달았지만, 나는 확실히 이런 터무니없는 게시물을 쓸 이유가 있다.
너는 이렇게 많은 시간을 이렇게 자질구레한 일에 쓴 것을 후회하니?
아니.한 달 가까이 지나도 이 작은 이모티콘들을 보니 즐거웠다.어쩌면 빛은 결국 사라질지도 모르지만, 그 전까지는 충분히 가치가 있었다.
근데 왜!?!
왜냐하면 그것은 나를 즐겁게 하기 때문이다.
지금 우리는 내 문장의 심층으로 들어간다.
개발자로서 스트레스를 받을 수도 있다.통상적으로 우리에게는 많은 스트레스가 있는데, 우리의 직접적인 팀원들을 제외하고는 큰 영광이나 인정을 가져오지 않는다.너는 고객에게 백금과 다이아몬드가 박힌 것이 아니라고 불평하는 예쁜 프로그램을 건네주었다.우리는 늦게까지 일했고, 응용 프로그램의 실행을 유지하기 위해 잠을 이루지 못했다. 우리는 피자를 너무 많이 먹었다. (내 프로젝트 팀이 피자 두 개를 더 먹을 수 있도록 확보하려고 하지 마라!)
우리는 신체적으로든 심리적으로든 감정적으로든 자신을 돌볼 방법을 찾아야 한다.어떤 사람들은 점심시간을 이용하여 신체를 단련할 수도 있다.어떤 사람들은 예쁜 입식 책상이나 레고 스타워즈 세트, 혹은 책상 위에 놓인 아이의 사진에서 즐거움을 얻을 수 있다.나로서는 bash 알림부호를 표정화하는 것과 관련이 있다.
만약 당신이 단지 개발자가 되고 싶다면, 물론, 계속해서, 사소한 일을 뛰어넘어라.그러나 나는 우리 대다수 사람들도 한 사람이 되기를 원한다고 생각한다. 이것은 코드뿐만 아니라.만약 나의 경험이 나에게 무엇을 알려준다면, 그것은 가장 좋은 코드는 시간을 들여 전면적으로 발전하는 사람, 그리고 하루 종일 온갖 방법을 다 동원하여 자신을 즐겁게 하는 사람들에게서 나온 것이다.마리 보핀스의 한마디를 흐트러뜨리기 위해 "설탕 한 숟가락은 개발자가 이성을 유지하는 데 도움을 줄 수 있다."
이것이 바로 내가 때때로 나의 힌트를 표정화하는 것과 같은 우스운 것들을 너무 오래 노는 이유이다.내가 하는 일은 단지 나를 즐겁게 하는 것만은 아니지만, 이런 사소한 일들은 내가 가끔씩 긴 하루 동안 즐거움을 유지하는 데 도움을 줄 수 있다.너에게 유용한 어리석은 일을 찾아서 해라.
Reference
이 문제에 관하여(표정화 나의 Bash 힌트 (그리고 왜 너도 이렇게 해야 하는지)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://dev.to/thatjoemoore/emojifying-my-bash-prompt
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
fancyprompt() {
brew update
outdated=`brew outdated --quiet | wc -l | tr -d '[:space:']`
if [ "$outdated" -gt "0" ]; then
echo -e "\x1B[104m\x1B[97m🺠You have $outdated brew update(s).🺠\x1B[0m"
fi
...the rest of my prompt...
}
PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/sbin:/usr/local/bin
@daily brew update
@daily brew update && brew outdated --quiet | wc -l | tr -d '[:space:'] > /tmp/.brew-outdated
outdated=0
if [ -f "/tmp/.brew-outdated" ]; then
outdated=`cat /tmp/.brew-outdated`
fi
사실은 내가 더 많은 패키지 관리자를 업데이트해야 한다는 것을 증명한다.나는 웹 개발을 좀 했기 때문에, 물론, 나는 npm 패키지가 많고, 나는 pip를 설치해야 한다. 왜냐하면 우리의 많은 배치 도구는 모두Python으로 작성되었기 때문이다.그렇다면, 이 업데이트를 얻기 위해 확장할 수 있습니까?
하지만 당연하지!
나는 마침내 이 문제를 처리하기 위해 몇 개의 추가 함수를 만들었고, 업데이트를 검사하기 위해 스크립트를 만들었다.
#!/bin/bash
check_brew() {
echo checking brew
brew update
brew outdated --quiet | wc -l | tr -d '[:space:]' > /tmp/.brew-outdated
}
check_npm() {
echo checking npm
npm outdated --global | wc -l | tr -d '[:space:]' > /tmp/.npm-outdated
}
check_pip() {
echo checking pip2
pip2 list --outdated --format=legacy | wc -l | tr -d '[:space:]' > /tmp/.pip2-outdated
echo checking pip3
pip3 list --outdated --format=legacy | wc -l | tr -d '[:space:]' > /tmp/.pip3-outdated
}
check_brew
check_npm
check_pip
각 파일에는 /tmp/.(toolname)-outdated
라는 파일이 기록됩니다.그리고 내 bash 프로필에 도구 이름과 이모티콘을 지정하는 함수가 있습니다. 이 함수들은 적당한 파일을 검사하고 메시지를 표시합니다.
_count_updates() {
type=$1
f=/tmp/.$type-outdated
upd=0
if [ -f "$f" ]; then
upd=`cat $f`
fi
echo $upd
}
_has_updates() {
type=$1
cnt=`_count_updates $type`
if [ "$cnt" -gt "0" ]; then
return 0
fi
return 1
}
_update_prompt() {
type=$1
icon=$2
upd=`_count_updates $type`
if [ "$upd" -gt 0 ]; then
echo -e "\x1B[104m\x1B[97m$icon You have $upd $1 update(s).$icon \x1B[0m"
fi
}
# configure my multi-line prompt
fancyprompt() {
echo
_update_prompt brew ðŸº
_update_prompt npm 📦
_update_prompt pip2 ðŸ
_update_prompt pip3 ðŸ
where=$PWD
home=$HOME
work="$home/work"
where="${where/$work/🢠}"
where="${where/$home/ðŸ }"
PS1='$where
â© '
}
그리고 나서 나는 정확한 명령을 기억해서 모든 내용을 업데이트하는 것은 고통스러운 일이다. 주로 Pip이 이상하기 때문에 bash 프로필에 함수를 만들었는데 이것은 나를 위해 어떻게 하는지 안다.
update_all() {
if _has_updates brew; then
echo "Updating Brew"
brew upgrade
fi
if _has_updates npm; then
echo "Updating NPM"
npm update -g
fi
if _has_updates pip2; then
echo "Updating Pip2"
pip2 list --outdated --format=freeze | cut -d = -f 1 | xargs -n1 pip2 install -U
echo "Running pip update again, because that's necessary"
pip2 list --outdated --format=freeze | cut -d = -f 1 | xargs -n1 pip2 install -U
fi
if _has_updates pip3; then
echo "Updating Pip3"
pip3 list --outdated --format=freeze | cut -d = -f 1 | xargs -n1 pip3 install -U
echo "Running pip update again, because that's necessary"
pip3 list --outdated --format=freeze | cut -d = -f 1 | xargs -n1 pip3 install -U
fi
echo "Finshed updating"
~/bin/fancy-prompt/outdated-packages.sh
}
마지막으로 나는 pip2와 pip3 두 번의 업데이트를 실행해야 했다. 왜냐하면 최종적으로 거의 항상 업데이트가 필요한 가방이 더 많기 때문이다.애호가!
아니요. 일주일에 한 시간씩 이걸 조정하는 데 걸렸어요. 제 설정 시간을 다 썼어요.앞으로 패키지 관리자를 더 쉽게 추가하거나 리눅스에서 실행할 수 있도록 추가할 수 있습니다.그러나 이것은 나의 다음 노트북의 일이다.
다음 단계
필요한 경우 (Github)[
]에서 내 스크립트를 다운로드할 수 있습니다.나는 어떤 도움이나 지지도 약속하지 않지만, 나는 미래에 조정할 것이다.
나는 또 너에게 한번 보라고 건의한다https://github.com/ThatJoeMoore/fancy-prompt.그것은 당신의git 환매를 유쾌하게 합니다.나는 심지어 그것을 위해 정서적인 주제를 설계했다. 왜냐하면 나는 당연히 했기 때문이다.
bashgit 알림
결론, 어쩌면 아직 깊은 사고가 있을지도 모른다
나는 이것이 완전히 터무니없는 첫 번째 게시물이라는 것을 깨달았지만, 나는 확실히 이런 터무니없는 게시물을 쓸 이유가 있다.
너는 이렇게 많은 시간을 이렇게 자질구레한 일에 쓴 것을 후회하니?
아니.한 달 가까이 지나도 이 작은 이모티콘들을 보니 즐거웠다.어쩌면 빛은 결국 사라질지도 모르지만, 그 전까지는 충분히 가치가 있었다.
근데 왜!?!
왜냐하면 그것은 나를 즐겁게 하기 때문이다.
지금 우리는 내 문장의 심층으로 들어간다.
개발자로서 스트레스를 받을 수도 있다.통상적으로 우리에게는 많은 스트레스가 있는데, 우리의 직접적인 팀원들을 제외하고는 큰 영광이나 인정을 가져오지 않는다.너는 고객에게 백금과 다이아몬드가 박힌 것이 아니라고 불평하는 예쁜 프로그램을 건네주었다.우리는 늦게까지 일했고, 응용 프로그램의 실행을 유지하기 위해 잠을 이루지 못했다. 우리는 피자를 너무 많이 먹었다. (내 프로젝트 팀이 피자 두 개를 더 먹을 수 있도록 확보하려고 하지 마라!)
우리는 신체적으로든 심리적으로든 감정적으로든 자신을 돌볼 방법을 찾아야 한다.어떤 사람들은 점심시간을 이용하여 신체를 단련할 수도 있다.어떤 사람들은 예쁜 입식 책상이나 레고 스타워즈 세트, 혹은 책상 위에 놓인 아이의 사진에서 즐거움을 얻을 수 있다.나로서는 bash 알림부호를 표정화하는 것과 관련이 있다.
만약 당신이 단지 개발자가 되고 싶다면, 물론, 계속해서, 사소한 일을 뛰어넘어라.그러나 나는 우리 대다수 사람들도 한 사람이 되기를 원한다고 생각한다. 이것은 코드뿐만 아니라.만약 나의 경험이 나에게 무엇을 알려준다면, 그것은 가장 좋은 코드는 시간을 들여 전면적으로 발전하는 사람, 그리고 하루 종일 온갖 방법을 다 동원하여 자신을 즐겁게 하는 사람들에게서 나온 것이다.마리 보핀스의 한마디를 흐트러뜨리기 위해 "설탕 한 숟가락은 개발자가 이성을 유지하는 데 도움을 줄 수 있다."
이것이 바로 내가 때때로 나의 힌트를 표정화하는 것과 같은 우스운 것들을 너무 오래 노는 이유이다.내가 하는 일은 단지 나를 즐겁게 하는 것만은 아니지만, 이런 사소한 일들은 내가 가끔씩 긴 하루 동안 즐거움을 유지하는 데 도움을 줄 수 있다.너에게 유용한 어리석은 일을 찾아서 해라.
Reference
이 문제에 관하여(표정화 나의 Bash 힌트 (그리고 왜 너도 이렇게 해야 하는지)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://dev.to/thatjoemoore/emojifying-my-bash-prompt
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
나는 이것이 완전히 터무니없는 첫 번째 게시물이라는 것을 깨달았지만, 나는 확실히 이런 터무니없는 게시물을 쓸 이유가 있다.
너는 이렇게 많은 시간을 이렇게 자질구레한 일에 쓴 것을 후회하니?
아니.한 달 가까이 지나도 이 작은 이모티콘들을 보니 즐거웠다.어쩌면 빛은 결국 사라질지도 모르지만, 그 전까지는 충분히 가치가 있었다.
근데 왜!?!
왜냐하면 그것은 나를 즐겁게 하기 때문이다.
지금 우리는 내 문장의 심층으로 들어간다.
개발자로서 스트레스를 받을 수도 있다.통상적으로 우리에게는 많은 스트레스가 있는데, 우리의 직접적인 팀원들을 제외하고는 큰 영광이나 인정을 가져오지 않는다.너는 고객에게 백금과 다이아몬드가 박힌 것이 아니라고 불평하는 예쁜 프로그램을 건네주었다.우리는 늦게까지 일했고, 응용 프로그램의 실행을 유지하기 위해 잠을 이루지 못했다. 우리는 피자를 너무 많이 먹었다. (내 프로젝트 팀이 피자 두 개를 더 먹을 수 있도록 확보하려고 하지 마라!)
우리는 신체적으로든 심리적으로든 감정적으로든 자신을 돌볼 방법을 찾아야 한다.어떤 사람들은 점심시간을 이용하여 신체를 단련할 수도 있다.어떤 사람들은 예쁜 입식 책상이나 레고 스타워즈 세트, 혹은 책상 위에 놓인 아이의 사진에서 즐거움을 얻을 수 있다.나로서는 bash 알림부호를 표정화하는 것과 관련이 있다.
만약 당신이 단지 개발자가 되고 싶다면, 물론, 계속해서, 사소한 일을 뛰어넘어라.그러나 나는 우리 대다수 사람들도 한 사람이 되기를 원한다고 생각한다. 이것은 코드뿐만 아니라.만약 나의 경험이 나에게 무엇을 알려준다면, 그것은 가장 좋은 코드는 시간을 들여 전면적으로 발전하는 사람, 그리고 하루 종일 온갖 방법을 다 동원하여 자신을 즐겁게 하는 사람들에게서 나온 것이다.마리 보핀스의 한마디를 흐트러뜨리기 위해 "설탕 한 숟가락은 개발자가 이성을 유지하는 데 도움을 줄 수 있다."
이것이 바로 내가 때때로 나의 힌트를 표정화하는 것과 같은 우스운 것들을 너무 오래 노는 이유이다.내가 하는 일은 단지 나를 즐겁게 하는 것만은 아니지만, 이런 사소한 일들은 내가 가끔씩 긴 하루 동안 즐거움을 유지하는 데 도움을 줄 수 있다.너에게 유용한 어리석은 일을 찾아서 해라.
Reference
이 문제에 관하여(표정화 나의 Bash 힌트 (그리고 왜 너도 이렇게 해야 하는지)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/thatjoemoore/emojifying-my-bash-prompt텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)