19

いつかコンピューターで仕事をするために、Bashを学ぼうとしています。

私の明晰さと独学のコードを書く弟子を改善するために、私は一貫した「指導原則」のセットに固執しようとしています。

私が自分の「ガイドライン」を作成するとき、私は明らかに自分自身に問いかけます。代わりに確立された標準を使用すべきではないのでしょうか。

これらの他の言語が持っているものと同様に、Bashのそのような「信頼できる」リファレンスを1つ見つけることができませんでした。

使用される正当な理由があるBashの同様のドキュメントへのリンクはありますか?

これが私が自分でまとめたものの種類です...しかし、特に初心者として、私は自分自身を考え出すのではなく、専門家によって書かれたガイドラインを使用するべきだと思います。多くの経験、洞察、実用性、一般的なパターン/アンチパターンの知識など。

あなたは一般的にそのような文書の有効性に異議を唱えるかもしれません、しかし何人かの人々は私が上記の箇条書きで言及したもののような著名な例をオンラインで持っているウェブのためにそれらを好まなければなりません。


################################################################################    
# Coding conventions                                                                
#                                                                                   
# - Prefer lines of 80 characters of length or less                                 
#                                                                                   
# - Perform arithmetic operations and numeric comparisons within "(( ))" blocks     
#   e.g. if ((42<=24+24)), ((3**3==27))                                             
#                                                                                   
# - Reference variables by name, not expansion, within arithmetic evaluation        
#   e.g. ((i++)) rather than (($i++)), ((v+=42)) rathern than v=$(($v+42))          
#                                                                                   
# - Prefer "[[" to "[" for conditional expressions                                  
#                                                                                   
# - Prefer "[[ $s ]]" to "[[ -n $s ]]" when checking for empty strings              
#                                                                                   
# - Document each function with at least a summary sentence. This should not        
#   exceed the preferred line length, be written in third person, end with a        
#   period and concisely describe the general utility of the function   
#
# ...
# ...
# ...
#            
################################################################################    

4

2 に答える 2

14

いつものように、Googleはあなたの友達です。私が出会った最高のbashスタイルガイドはGoogleからのものです

Chromiumプロジェクトからの追加のアドバイスもあります。

bashを学ぶには、Apple DeveloperShellScripting入門書が優れています。

bashにスタイルガイドを使用することは、トリックがたくさんあり、予想外で癖を診断するのが難しいため、かなり賢明です。したがって、常に同じスタイルに従う場合は、これらのトリックのそれぞれに1回だけ当てはまる必要があります。

于 2014-06-26T04:00:51.523 に答える
10

私のシェルスクリプト標準

  1. 移植性を優先しますが、セキュリティと空白の認識を犠牲にしないでください。
  2. 外部コマンドよりもビルトインを優先します。
  3. ただし、非常に大きな入力を処理するには、高速の外部コマンドを使用します。
  4. 不要なサブシェルとパイプラインは避けてください。
  5. 事前に最適化しないでください。
  6. 引用のルールを学びます。次に、引用符を使用します。
  7. 関数を使用して、読みやすさと制御範囲を改善します。
  8. スクリプトにばかげたファイル拡張子を付けないでください。
  9. 動作を確認せずにディレクトリを変更しないでください。
  10. エシューホブゴブリン

愚かな一貫性は、小さな政治家や哲学者や神々に愛されている、小さな心のホブゴブリンです。

–ラルフ・ワルド・エマーソン

移植性ルールを無視する場合

  1. 必要-execdirに応じてfind
  2. nullツールセットで空白上で誤って単語が分割されないようにする場合は、区切り文字を使用してください。
  3. すべてのglob拡張機能を学び、それらを使用します。
  4. ターゲットシステムにすべてBASHがある場合は、POSIXLY_STRICTになるように後ろ向きに曲げないでください。
  5. ここで文字列を使用します。
于 2013-03-26T03:43:01.663 に答える