BASHスクリプトは、LinuxおよびUnixのようなシステムでタスクを自動化するための強力なツールです。ファイルとプロセスの操作で知られていますが、部門などの算術操作も多くのスクリプトで重要な役割を果たします。 2つの変数で正しく分割する方法を理解することは、リソースの割り当て、データ処理などに役立ちます。この記事では、Bashのパフォーマンス部門の微妙さを調査し、算術操作をスムーズかつ効率的に実行するための知識を提供します。
基本コンセプトbashの変数
bashの変数は、スクリプトの実行中に変更できるデータに割り当てられた名前です。数値、文字列、またはファイル名を保存するために変数を使用することがよくあり、これらのデータはさまざまな操作を実行するために操作できます。
算術操作の概要bashは、基本的な算術操作を直接または外部ユーティリティを通じてサポートします。これらの操作には、追加、減算、乗算、および分割が含まれます。ただし、Bash自体は整数算術を実行します。つまり、他のツールを使用しない限り、小数なしでのみ整数を処理できます。
算術コマンドの紹介bashで算術操作を実行する2つの主要な方法があります:
- expr:
- 算術計算を含む式を評価する外部ユーティリティ。 算術的拡張$(()):
- スクリプトでの直接算術操作を可能にするbashの関数。
bashスクリプトファイルを作成
スクリプトの書き込みを開始するには、NanoやVIMなどのテキストエディターを使用して.sh拡張機能を使用してファイルを作成します。たとえば、
nano myscript.sh
スクリプトを作成した後、chmodコマンドを使用して実行可能にする必要があります:
chmod x myscript.sh
バッシュスクリプトは通常、シェバン(#!)から始まり、その後にバッシュインタープレーターへのパスが続きます。
#!/bin/bash # 你的脚本从这里开始
変数を宣言します
割り当て
bashの変数に値を宣言して割り当てるには、次の構文を使用します。これらの変数は、算術操作で使用できるようになりました。
var1=10 var2=5
使用するにはexprexprコマンドを使用してください:
これは、var1の結果をvar2で割った出力です。 result=$(expr $var1 / $var2)
echo "结果是 $result"
exprは整数算術のみをサポートするため、分割できない2つの整数を分割すると、分数部分が切り捨てられます。
算術的拡張機能$(())算術拡張機能を使用すると、より単純な構文と直接スクリプト統合が可能になります:
この方法はより単純で、外部プロセスを生成しないため、EXPRよりも高速です。
非整数の結果の処理
フローティングポイント除算の課題bash自体は、非統合値につながる分割を複雑にするフローティングポイント算術をサポートしていません。 フローティングポイント除算のソリューション
フローティングポイント分割を処理するには、BCツールを使用できます。
result=$(echo "$var1 / $var2" | bc -l)
このコマンドは、分割操作をBCに送信します。BCは、浮動小数点算術を処理し、結果を返します。 echo "结果是 $result"
一般的なトラップとエラー
ゼロ
で割ってゼロで分割しようとすると、スクリプトエラーが発生します。部門を実行する前に、分母がゼロかどうかを確認してください:
if [ $var2 -eq 0 ]; then
echo "错误:被零除。"
else
result=$(($var1 / $var2))
echo "结果是 $result"
fi
非デジタル入力の処理
if ! [[ "$var1" =~ ^[0-9] $ ]] || ! [[ "$var2" =~ ^[0-9] $ ]]; then
echo "错误:非数字输入。"
else
result=$(($var1 / $var2))
echo "结果是 $result"
fi
実用的な例
インタラクティブスクリプトはユーザー入力に使用されます
ユーザー入力を受け入れ、分割を実行するスクリプトを作成します:
#!/bin/bash
echo "输入两个数字:"
read var1 var2
if [[ "$var2" -eq 0 ]]; then
echo "不能被零除。"
else
result=$(echo "$var1 / $var2" | bc -l)
echo "除法结果:$result"
fi
結論
この記事では、整数操作から浮動小数点数の処理まで、BASHスクリプトで部門を実行する重要なポイントを紹介します。これらの原則を理解することにより、スクリプトの機能を強化し、複雑な計算を簡単に実行できます。これらのテクニックを使用して、スクリプトスキルを向上させ、より高度な問題を解決してみてください。
以上がBash Scriptingで2つの変数を分割する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

楽なフラットパック管理のためのGUI:倉庫の紹介 フラットパックアプリケーションの成長コレクションを管理することは、コマンドラインのみを使用して面倒です。 フラットパックを合理化するように設計されたユーザーフレンドリーなグラフィカルインターフェイスであるウェアハウスを入力してください

この記事では、Linuxシステムでハードドライブボトルネックを特定して解決するための包括的なガイドを提供します。 経験豊富なサーバー管理者は、これが特に便利だと感じるでしょう。遅いディスク操作は、アプリケーションのパフォーマンスに深刻な影響を与える可能性があります。

Linuxシステムの下での効率的なQRコード生成ツール 今日のデジタルの世界では、QRコードは情報を迅速かつ便利に共有し、URL、テキスト、連絡先、Wi-Fi資格情報、さらには支払い情報からのデータアクセスを簡素化する方法になりました。 Linuxユーザーは、さまざまなツールを使用して、QRコードを効率的に作成できます。 Linuxシステムで直接使用できる人気のあるQRコードジェネレーターを見てみましょう。 QRENCODE QRENCODEは、LinuxでQRコードを生成するための軽量コマンドラインツールです。それはそのシンプルさと効率性に好評であり、直接的な方法を好むLinuxユーザーに人気があります。 QRENCODEを使用して、URLを使用できます。

小学校OS 8 Circe:滑らかでスタイリッシュなLinux体験 UbuntuベースのLinux分布であるElementary OSは、シンプルなテーマパックから本格的な独立したオペレーティングシステムに進化しました。 ユーザーフレンドリーなインターフェイスであるエレガントなdeで知られています

Mastering Linuxは、あらゆる機械学習(ML)エンジニアにとって重要です。 そのコマンドラインインターフェイスは、比類のない柔軟性と制御、ワークフローの合理化、生産性の向上を提供します。この記事では、Essential Linuxコマンドの概要を説明しています

Arch Linux:初心者のコマンドラインチートシート Arch Linuxは比類のないコントロールを提供しますが、新人には気が遠くなると感じることがあります。このチートシートは、システムを自信を持って管理するための重要なコマンドを提供します。 システム情報と更新 これらのcom

このガイドは、Linux SystemsにScikit-Learn Machine Learning Libraryをインストールして使用する包括的なウォークスルーを提供します。 Scikit-Learn(Sklearn)は、さまざまなマシンL用の幅広いツールを提供する強力でオープンソースのPythonライブラリであり、

このガイドは、Kali LinuxツールにアクセスするためにDockerを活用する方法を説明します。これは、Katoolinのような時代遅れの方法に代わるより安全で効率的な代替品です。 Katoolinはもはや積極的に維持されておらず、最新のシステムで互換性の問題を引き起こす可能性があります。する


ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

PhpStorm Mac バージョン
最新(2018.2.1)のプロフェッショナル向けPHP統合開発ツール

SAP NetWeaver Server Adapter for Eclipse
Eclipse を SAP NetWeaver アプリケーション サーバーと統合します。

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

WebStorm Mac版
便利なJavaScript開発ツール

SublimeText3 中国語版
中国語版、とても使いやすい
