関数ヘッダの前に関数コメントが置かれると、印刷されません。

関数ヘッダの前に関数コメントが置かれると、印刷されません。

シェル機能にコメントを追加するためのすばらしく完全なガイドは次のとおりです。関数ヘッダーの前に配置してください。。可能な限りこのガイドラインに従おうとしましたが、これらの規則は関数のコメントを読みにくくしました。たとえば、私の関数のコメントにアクセスできません。

#######################################
# init the current directory with the required files to work with latex in Vscode's extension LaTeX workshop
# Arguments:
# $1 -> Main .tex file. Optional. Default to "main.tex"
#######################################
initlatex () {
    curl https://gist.githubusercontent.com/tapyu/886dc95fc19c4250fb38581ccc58bed8/raw/0eeaa62d401659fe1c57602ec8f17608775d5338/_default_preamble.tex > default_preamble.tex
    grep -q "\\input{default_preamble.tex}" ${1:-main.tex} || sed -i '2i\\\input{default_preamble.tex}\n' ${1:-main.tex}
    curl https://gist.githubusercontent.com/tapyu/886dc95fc19c4250fb38581ccc58bed8/raw/Makefile > Makefile
    [[ ! -d .vscode ]] && mkdir --parents --verbose .vscode
    curl https://gist.githubusercontent.com/tapyu/886dc95fc19c4250fb38581ccc58bed8/raw/0eeaa62d401659fe1c57602ec8f17608775d5338/_vscode_makefile.json > .vscode/settings.json
}

端末から直接次のコマンドを使用してくださいwhich

❯ which initlatex
initlatex () {
    curl https://gist.githubusercontent.com/tapyu/886dc95fc19c4250fb38581ccc58bed8/raw/0eeaa62d401659fe1c57602ec8f17608775d5338/_default_preamble.tex > default_preamble.tex
    grep -q "\\input{default_preamble.tex}" ${1:-main.tex} || sed -i '2i\\\input{default_preamble.tex}\n' ${1:-main.tex}
    curl https://gist.githubusercontent.com/tapyu/886dc95fc19c4250fb38581ccc58bed8/raw/Makefile > Makefile
    [[ ! -d .vscode ]] && mkdir --parents --verbose --parents --verbose .vscode
    curl https://gist.githubusercontent.com/tapyu/886dc95fc19c4250fb38581ccc58bed8/raw/0eeaa62d401659fe1c57602ec8f17608775d5338/_vscode_makefile.json > .vscode/settings.json
}

このベストプラクティスに違反することなく関数のコメントを印刷する別のコマンドはありますか?

ベストアンサー1

1つのアプローチは、LISPプログラマが使用し、Pythonのような言語で採用したアプローチをとり、コメント構文を使用する代わりにドックストリングを使用することです。(ドックストリング)。 which/whence/type を使用すると、この内容が表示されます。 LISPでは、文字列は自分で評価され無視されます。シェルの場合は、これを割り当てる必要があります(例:_doc)。

gmt(){
   _doc="Show date in gmt"
   date -u "$@"
}

2番目の方法は、関数がパラメータを受け入れることに注意してください。最初の引数を使用して関数を呼び出すときに役立つ--helpルールを設定できます。クッシュ 93getoptsこれらの項目を簡単に作成できる拡張パーサーがあります。たとえば、env注文する。

おすすめ記事