私は過去数年間、職場で役に立つスクリプトやエイリアスをたくさん開発してきました。
私はこれを文書化するために最善を尽くしましたが、状況が早すぎて他の場所に新しいヘルパーを追加し続けています。
開発者は、必要なヘルパーに応じて* 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バイナリを作成し始めました。また、保守が可能な長期的なアプローチで終わる限り、必要なリファクタリングを喜んで行います。
コミュニティで興味深い提案やアイデアを楽しみにしています!