シェルスクリプト言語での数式の計算–パートV
あなたの人々は、シェルスクリプトを理解して、快適に感じるでしょう。 必要に応じて流暢に書きます。これは、このチュートリアルシリーズの最後の投稿であり、少し複雑な数学演算を実行します。 スクリプト言語を使用します。 シェルスクリプトの最後の4つの記事 年代順になっているシリーズ。
- 基本的なLinuxシェルスクリプト言語のヒントを理解する–パートI
- Linux初心者がシェルプログラミングを学ぶための5つのシェルスクリプト–パートII
- Linux BASHスクリプティングの世界を航海する–パートIII
- Linuxシェルプログラミングの数学的側面–パートIV
フィボナッチ数列から始めましょう
各数値が先行する2つの数値の合計である数値のパターン。シリーズは0 、 1 、 1 、 2 、 3 、 5 、 8 ……定義上、 Fibonccaiの最初の2つの数字 シーケンスは0と1です。
スクリプト1:Fibonacci.sh
#!/bin/bash echo "How many numbers do you want of Fibonacci series ?" read total x=0 y=1 i=2 echo "Fibonacci Series up to $total terms :: " echo "$x" echo "$y" while [ $i -lt $total ] do i=`expr $i + 1 ` z=`expr $x + $y ` echo "$z" x=$y y=$z done
サンプル出力
[[email protected] ~]# chmod 755 Fibonacci.sh [[email protected] ~]# ./Fibonacci.sh How many numbers do you want of Fibonacci series ? 10 Fibonacci Series up to 10 terms :: 0 1 1 2 3 5 8 13 21 34
Fibonacci.shをダウンロード
あなたは、コンピュータがバイナリ形式、つまり「 0」でのみ理解するという事実に精通しています。 ‘および‘ 1 「そして私たちのほとんどは、10進数の変換を学ぶことを楽しんでいます バイナリへ 。この複雑な操作のための簡単なスクリプトを書いてみませんか。
スクリプト2:Decimal2Binary.sh
#!/bin/bash for ((i=32;i>=0;i--)); do r=$(( 2**$i)) Probablity+=( $r ) done [[ $# -eq 0 ]] &echo -en "Decimal\t\tBinary\n" for input_int in [email protected]; do s=0 test ${#input_int} -gt 11 &printf "%-10s\t" "$input_int" for n in ${Probablity[@]}; do if [[ $input_int -lt ${n} ]]; then [[ $s = 1 ]] && printf "%d" 0 else printf "%d" 1 ; s=1 input_int=$(( $input_int - ${n} )) fi done echo -e done
サンプル出力
[[email protected] ~]# chmod 755 Decimal2Binary.sh [[email protected] ~]# ./Decimal2Binary.sh 1121 Decimal Binary 1121 10001100001
注 :上記のスクリプトは実行時に入力を受け入れますが、これは明らかに助けになります。
Decimal2Binary.shをダウンロード
作り付けの「bc ‘コマンドは10進数を変換できます バイナリへ 1行のスクリプトで。ターミナルで実行します。
[[email protected] ~]# echo "obase=2; NUM" | bc
「NUM」を置き換えます ‘10進数から変換する数値 バイナリへ 。たとえば、
[[email protected] ~]# echo "obase=2; 121" | bc 1111001
次に、上記のスクリプトの正反対に機能するスクリプト、バイナリ値の変換を記述します。 10進数 。
スクリプト3:Binary2Decimal.sh
#!/bin/bash echo "Enter a number :" read Binary if [ $Binary -eq 0 ] then echo "Enter a valid number " else while [ $Binary -ne 0 ] do Bnumber=$Binary Decimal=0 power=1 while [ $Binary -ne 0 ] do rem=$(expr $Binary % 10 ) Decimal=$((Decimal+(rem*power))) power=$((power*2)) Binary=$(expr $Binary / 10) done echo " $Decimal" done fi
サンプル出力
[[email protected] ~]# chmod 755 Binary2Decimal.sh [[email protected] ~]# ./Binary2Decimal.sh Enter a number : 11 3
注 :上記の機能は、「 bc」を使用してターミナルで実行できます。 ‘コマンドとして。
[[email protected] ~]# echo "ibase=2; BINARY" | bc
「BINARY」を置き換えます ‘2進数、つまり
[[email protected] ~]# echo "ibase=2; 11010101" | bc 213
Binary2Decimal.shをダウンロード
同様に、8進数から変換を記述できます 、16進数 10進数 逆もまた同様です。上記の結果を達成すると、「 bc」を使用してターミナルになります ‘コマンドは。
10進数から8進数
[[email protected] ~]# echo "obase=8; Decimal" | bc
10進数から16進数
[[email protected] ~]# echo "obase=16; Decimal" | bc
8進数から10進数
[[email protected] ~]# echo "ibase=8; Octal" | bc
16進数から10進数
[[email protected] ~]# echo "ibase=16; Hexadecimal" | bc
2進数から8進数
[[email protected] ~]# echo "ibase=2;obase=8 Binary" | bc
一般的な数値の一部 説明付きのシェルスクリプト言語で使用されるテストはです。
Test : INTEGER1 -eq INTEGER2 Meaning: INTEGER1 is equal to INTEGER2
Test : INTEGER1 -ge INTEGER2 Meaning: INTEGER1 is greater than or equal to INTEGER2
Test: INTEGER1 -gt INTEGER2 Meaning: INTEGER1 is greater than INTEGER2
Test:INTEGER1 -le INTEGER2 Meaning: INTEGER1 is less than or equal to INTEGER2
Test: INTEGER1 -lt INTEGER2 Meaning: INTEGER1 is less than INTEGER2
Test: INTEGER1 -ne INTEGER2 Meaning: INTEGER1 is not equal to INTEGER2
この記事と一連の記事は以上です。これはシェルスクリプトシリーズの最後の記事です。 また、スクリプト言語に関する記事が再びここに表示されないという意味ではありません。シェルスクリプトのチュートリアルが終了したことを意味するだけです。知っておく価値のある興味深いトピックや皆さんからの質問を見つけたら、喜んでシリーズを続けます。ここ。
健康を維持し、調整し、テクミントに接続します 。すぐに私は別の興味深いトピックを取り上げます。皆さんは読みたくなるでしょう。 コメントセクションで貴重な考えを共有してください 。
-
カスタムシェル関数とライブラリを作成して使用する方法
Linuxでは、シェルスクリプトは、特定のシステム管理タスクの実行や自動化、簡単なコマンドラインツールの作成など、さまざまな方法で役立ちます。 このガイドでは、新しいLinuxユーザーに、カスタムシェルスクリプトを確実に保存する場所、カスタムシェル関数とライブラリの記述方法、他のスクリプトでライブラリの関数を使用する方法を示します。 シェルスクリプトを保存する場所 フルパス/絶対パスを入力せずにスクリプトを実行するには、スクリプトを $ PATHのディレクトリの1つに保存する必要があります。 環境変数。 $ PATHを確認するには 、以下のコマンドを発行します: $ echo $PAT
-
5 つの実用的な例を含む Bash スクリプト入門チュートリアル
進行中の Unix Sed および Unix Awk シリーズと同様に、Bash スクリプトに関するいくつかの記事を投稿します。実用的な例ですべての bash スクリプト テクニックをカバーします。 シェルは、ユーザー コマンドを解釈するプログラムです。コマンドは、ユーザーが直接入力するか、シェル スクリプトと呼ばれるファイルから読み取るかのいずれかです。ユーザーからの入力を直接読み取る場合、シェルは対話型シェルとして呼び出されます。 シェルは、ファイルからコマンドを読み取って実行するときに、非対話型シェルとして呼び出されます。この場合、シェルはスクリプト ファイルの各行を上から下に読み取