bash機能を使用してコマンドラインで簡単な計算を実行します。 $1 分割 $2 (おそらく bc を使用)

bash機能を使用してコマンドラインで簡単な計算を実行します。 $1 分割 $2 (おそらく bc を使用)

時には、ある数字を別の数字に分割する必要があります。このためにbash関数を定義できれば良いでしょう。今までこんな表現を書くしかなかった

echo 'scale=25;65320/670' | bc

しかし、次のような.bashrc関数を定義できれば良いと思います。

divide () {
  bc -d $1 / $2
}

答え1

次の便利なbash機能がありますcalc

calc () {
    bc -l <<< "$@"
}

使用例:

$ calc 65320/670
97.49253731343283582089

$ calc 65320*670
43764400

この設定は自分に合わせて変更できます。たとえば、

divide() {
    bc -l <<< "$1/$2"
}

メモ: <<<ここにある文字列これは標準入力として供給されますbc。電話する必要はありませんecho

答え2

Bashはある程度独自に数学を実行できます。しかし、丸められているので、正確さには役に立ちません。

[user]$ echo $(( 10/5 ))
2

しかし、あなたは正しいです。 bash機能は簡単なショートカットで、あなたの例は基本的に機能します。

divide() {
  echo "scale=25;$1/$2" | bc
}

.bashrcに入れると、次のことができます。

[user]$ divide 10 5
2.0000000000000000000000000

答え3

Bash 組み込み「expr」が次のようになることがわかります。

$ expr 60 / 5
12

整数に制限され、引数の間にスペースが必要です。

すでに使用しているエコー式の観点から関数を定義するのを妨げるものは何ですか?つまり

 divide () {
   echo $1/$2 | bc
 }

答え4

システムにインストールされていてcalc丸めが気に入らない場合は、次のことができます。

div() { calc "$1 / $2"; }

関連情報