기초 지식
•
옵시디언은 로컬 저장소를 사용하는 노트앱이다. 따라서 로컬을 어떻게 원격으로 옮기느냐가 중요한 요소가 된다.
필자가 처한 상황
•
집에선 우분투, 윈도우 노트북을 사용하고 있으며, 클러스터에서는 아이맥을 사용하고 있다. 만약 모든게 애플제품이었다면 연동을 하면 되겠지만, 필자는 모두 다 다른 os를 사용중이기에 연동하기가 쉽지 않다.
아이디어
•
obsidian은 로컬 저장소를 사용한다. 그 말은 로컬 저장소를 원격으로 업데이트를 해주면 된다는 것이다.
•
마침 미니쉘 과제(bash 일부 구현) 이 끝날때여서 echo, cd등 여러가지 빌트인 명령어와 다양한 조합을 생각할 수 있었다.
•
obsidian을 어짜피 cmd_line으로 실행시키면 실행시키는 동시에 git pull을 하면 되는 것 아닌가? 라는 생각이 들었다.
•
마찬가지로 obsidian 다 쓰면 git push를 해주면 될 것이라는 생각이 들었다.
구현
1.
bash 파일을 만든다.
•
필자는 “note_pull.sh”라는 파일을 만들었다
•
“note” 라는 디렉토리는 git 레포지토리이다.
#!/bin/bash
cd ~/note && echo `git pull` && cd -
Bash
복사
2.
zshrc의 alias에 아까 git_pull.sh 파일과 등록
•
필자는 application에 obsidian 파일이 있다. (iterm)에서는 open을 (ubuntu에서는 실행을) 시켜주면 된다.
alias note_push="~/setting/note_push.sh"
alias obsidian="echo `~/setting/note_pull.sh` | open ~/Applications/Obsidian"
Bash
복사
세팅 끝!!!!
이제 obsidian이라는 명령을 통해 git pull이 자동으로되고 옵시디언이 실행되는 것을 볼 수 있다! (다 쓰면 note_push)
•
note_push.sh
#!/bin/bash
cd ~/note && echo `git add . && git commit -m \"push\" && git push` &&cd -
Bash
복사
추가 (우분투)
•
우분투에는 shutdown -h now 라는 명령어를 통해 끌 수 있다.
•
따라서 alias에 shutdown 명령어와 함께 git push를 하면 매일 note_push하는 수고를 덜 수 있다.
•
생성방법은 alias obsidian 을 만드는 방식과 동일하다.