저는 지난 몇 년 동안 직장에서 유용한 스크립트와 별칭을 많이 개발했으며, 이는 여러 조직의 많은 사람들이 사용하는 도구 체인으로 천천히 성장했습니다.
나는 이것을 문서화하기 위해 최선을 다했지만 상황이 너무 빨리 진행되고 다른 곳에 새로운 도우미를 계속 추가하고 있습니다.
개발자는 원하는 도우미에 따라 *rc에서 약 12개의 다른 bash 파일을 얻을 수 있습니다.
일부 파일에는 다음과 같은 작은 별칭이 많이 포함되어 있습니다.
alias a1="";
alias a2="";
alias a3="";
alias a4="";
일부 파일에는 다음과 같은 고급 도우미가 포함되어 있습니다.
function complex_helper {
ENV1=()
ENV2=0
while :; do
case $1 in
-h|-\?|--help)
show_help
HELP=1
break # Not calling exit here because it's a function and we want to keep the current shell open
;;
-i|--id)
ENV1+=("$2")
shift
;;
-t|--test)
ENV2=1
;;
--) # End of all options.
shift
break
;;
-?*)
printf 'WARN: Unknown option (ignored): %s\n' "$1" >&2
;;
*) # Default case: No more options, so break out of the loop.
break
esac
shift
done
# Some logic here
}
이상적으로는 다음을 달성하고 싶습니다.
- 모든 것을 캡슐화하는 통합 cli 명령 보유
- --help를 입력하고 사용 가능한 모든 명령을 볼 수 있는 기능. 예를 들어 별칭 a5를 추가하면 다음과 같이 표시됩니다.
- 탭 완료
- 다른 사람들이 자신의 도우미와 빠른 도움말 명령을 쉽게 추가할 수 있도록 하세요.
과거에는 argparser + 탭을 사용하여 해당 os
모듈을 사용하여 bash 명령을 실행하는 Python 바이너리를 만들기 시작했으며 이 접근 방식을 다시 검토할 의향이 있습니다. 또한 유지 관리가 가능한 장기적인 접근 방식으로 끝나는 한 필요한 리팩토링을 기꺼이 수행할 것입니다.
커뮤니티에서 흥미로운 제안이나 아이디어를 기대하고 있습니다!