あなたは例えば、ではbashでの別名の使用状況を見てみると、bashrcにまたは容易にコマンドを実行するようになりますbashrcに
によって呼び出された別々のファイルのいずれかに格納することができ、いくつかのものがあります。..
take a look here for expanding commands into aliases (simple aliases are easy)
また、機能の意味を理解するために(あなたのコード内の関数を使用しての中に上記のリンクのホームフォルダ内のbashスクリプトの多くを見ることができるthis siteを閲覧:)はるかに良い例を持っている...
を見てみましょうここにはそうだ私は、何かがbashのためにあまりにも厄介取得するために開始した場合、あなたは常にすべてのLANGのPerl/Javaのを書いて、あなたのbashスクリプト内からこれを呼び出すことができます例えばので、bashのあるものは、その柔軟性であるスクリプト pipe tail output into another script
に尾をパイプ、とにかくここにすべてのパイプが助けになるかもしれ何か、なぜ
わからない...その出力をキャプチャして、何か他の操作を行います。
./example.sh 20
function one starts with 20
In function 2 20 + 10 = 30
Function three returns 10 + 10 = 40
------------------------------------------------
------------------------------------------------
Local function variables global:
Result2: 30 - Result3: 40 - value2: 10 - value1: 20
スクリプト:
example.sh 01 shared.sh
function one() {
value1=$input
echo "function one starts with $value1"
two;
}
function two() {
value2=10;
result2=$(expr $value1 + $value2)
echo "In function 2 $value1 + $value2 = $result2"
three;
}
function three() {
local value3=10;
result3=$(expr $value2 + $result2;)
echo "Function three returns $value2 + $value3 = $result3"
}
#!/bin/bash
input=$1;
source ./shared.sh
one
echo "------------------------------------------------"
echo "------------------------------------------------"
echo "Local function variables global:"
echo "Result2: $result2 - Result3: $result3 - value2: $value2 - value1: $value1"
私はあなたが実際に機能することができ意味パイプを考えると、各機能が相互に呼び出すことができます...そして、あなたは、スクリプトにそれが機能を通過する価値を与えます..
bashは限り前に呼び出される関数は、変数それによって呼び出される次の関数がそれを再利用することができ、またはそれは
メインプログラムから呼び出すことができるを有するように、周りの値を渡すことについてかなり柔軟です210
また、私はupvoteのための
E2Aのおかげで、同じ機能を実行するために別のスクリプトによって供給することが可能な機能を分割、私はまた、このリンクあり
http://tldp.org/LDP/abs/html/sample-bashrc.html
を含めることにしました再利用される素晴らしい.bashrcです。パイピングを必要とするような毎日の繰り返しコマンドを単純化する方法についてのいくつかの洞察を与える多くの機能を備えています。エイリアスはすべてあなたのために書かれます。 。
'source file'を使用すると、そのファイルのコードが利用可能になります。 – hetepeperfan
スクリプトやその機能を知らなくても、ちょっと難解です。一般的な答えは "おそらく"です。スクリプトの機能をモジュールに分割することが理にかなっているかどうかによって異なります。 'ls'、' more'などのようなプログラムは、それぞれ独立した関数として、そしてパイプされた機能として意味を成す明確で明確な目的を持っています。あなたのスクリプトの部分がその本質であるかどうかを判断する必要があります。答えが「そうです、それをモジュールに分割することは可能であり、意味があります」 – lurker
@mbratch - 私の望むモジュールのほとんどは、実際には私の仕事に特有の汎用プログラムではありません。私は利便性と開発とテストの容易さを求めていました。 – bashboy