シェルスクリプトの変數(shù)にコマンドの出力を割り當(dāng)てる方法は?
Jun 21, 2025 am 12:41 AMシェルスクリプトでは、コマンドの交換により出力を変數(shù)に保存できます。 2つの一般的な方法があります。1。バックテックコマンドを使用します。 2。$()構(gòu)文を使用します。どちらも同じ機(jī)能を持っていますが、後者はより推奨されます。複數(shù)の行またはスペースで出力を処理する場(chǎng)合は、注意してください。セグメンテーションエラーを回避するために、Arrayを使用してReadArrayで複數(shù)の結(jié)果を保存することをお?jiǎng)幛幛筏蓼?。さらに、実行の障害により、変數(shù)が空になったりエラーメッセージになったりする可能性があります。エラーをリダイレクトして、例外処理の返品値を破棄または確認(rèn)して、スクリプトの安定した操作を保証できます。
シェルスクリプトを作成するときは、コマンドの出力を変數(shù)に保存することが非常に一般的です。コマンド代替で簡(jiǎn)単にこれを行うことができます。
バックティックまたは$()
Syntaxを使用します
最も一般的に使用される2つの方法があります。バックテック( `
)または$()
を使用します。それらはすべてコマンドを?qū)g行し、出力の結(jié)果を取得できます。
-
バックティック:これは、次のような比較的古い書き方です。
今日=「日付」
$()
:これは、現(xiàn)代ではより推奨されるアプローチであり、読みやすさと営巣の容易さを備えています。今日= $(日付)
どちらの方法でもdate
コマンドの出力結(jié)果をtoday
変數(shù)に割り當(dāng)てることができます。この値は、スクリプトで$today
を介して參照できます。
注:それを書く方法に関係なく、シェルは最初に括弧內(nèi)のコマンドを?qū)g行し、次に結(jié)果を変數(shù)に置き換えます。
スペースと特殊文字を使用したプロセス出力
コマンドの出力が複數(shù)の行であるか、スペース、ラインブレークなどが含まれている場(chǎng)合があります。この時(shí)點(diǎn)で割り當(dāng)ての動(dòng)作はあなたを驚かせるかもしれません。
例えば:
files = $(ls *.txt)
現(xiàn)在のディレクトリに複數(shù)の.txt
ファイルがある場(chǎng)合、 $files
すべてのファイル名を保存し、ラインブレークで區(qū)切られます。
この変數(shù)を直接ループに入れた場(chǎng)合、たとえば:
$ファイルのファイル。する エコー「$ファイルの処理」 終わり
デフォルトでは、シェルは変數(shù)の內(nèi)容をWhitespace文字(スペース、タブ、NewLines)によって分割します。これにより、ファイル名のスペースがあるファイルが2つの部分に誤って分割される可能性があります。
いくつかの解決策があります:
-
IFS
コントロール?yún)^(qū)切りを使用します。 - アレイを使用して複數(shù)の値を保存します。
- または、パイプライン処理と組み合わせて
while read
使用してください。
小さな例を示すには、配列を使用する方が安全になる場(chǎng)合があります。
ReadArray -tファイル<<(ls *.txt) 「$ {files [@]}」のファイルの場(chǎng)合する エコー「$ファイルの処理」 終わり
これにより、ファイル名がスペースがある場(chǎng)合でも、正しく識(shí)別できます。
コマンド実行の失敗に注意してください
すべてのコマンドが正常に実行されるわけではありません。コマンドの実行でエラーが発生した場(chǎng)合、変數(shù)はnull値またはエラーメッセージを取得します。
例えば:
content = $(cat missing_file.txt)
ファイルが存在しない場(chǎng)合、 cat
はエラーを報(bào)告し、 $content
まだ空です。これは、スクリプトの通常のフローを妨げる可能性があります。
これを回避するために、エラー処理を追加できます。
content = $(cat missing_file.txt 2>/dev/null)
これにより、エラーメッセージが捨てられ、ユーザーインターフェイスに影響を與えないようにします。しかし、あなたはまた、「何がうまくいかなかったかを知る」機(jī)會(huì)を失います。
より厳格になりたい場(chǎng)合は、返品値を判斷できます。
もし ! content = $(cat missing_file.txt 2>/dev/null);それから エコー「ファイルの読み取りに失敗しました?!? 終了1 fi
このようにして、狀況に応じてさまざまな治療を行うことができます。
基本的にそれだけです。コマンド交換の基本的な使用法をマスターし、出力形式と例外処理に注意してください。安定した信頼性の高いシェルスクリプトを書くことができます。
以上がシェルスクリプトの変數(shù)にコマンドの出力を割り當(dāng)てる方法は?の詳細(xì)內(nèi)容です。詳細(xì)については、PHP 中國(guó)語 Web サイトの他の関連記事を參照してください。

ホットAIツール

Undress AI Tool
脫衣畫像を無料で

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

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

Clothoff.io
AI衣類リムーバー

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

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中國(guó)語版
中國(guó)語版、とても使いやすい

ゼンドスタジオ 13.0.1
強(qiáng)力な PHP 統(tǒng)合開発環(huán)境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

esd ファイルは Windows オペレーティング システムで使用される圧縮形式であり、ISO ファイルはディスク コピーまたは仮想光學(xué)ドライブの作成に使用されるディスク イメージ ファイルです。 esd ファイルを iso ファイルに変換する必要がある場(chǎng)合、ISO ファイルの方が一般的に使用されており、使いやすいためかもしれません。以下では、この変換プロセスを完了するための一般的な方法をいくつか紹介します。方法 1: ESDDecrypter を使用する ESDDecrypter は、esd ファイルを復(fù)號(hào)化して iso ファイルに変換するために特別に使用されるプログラムです。

Linuxシステムで.shファイルを?qū)g行するにはどうすればよいですか? Linux システムでは、.sh ファイルはシェル スクリプトと呼ばれるファイルであり、一連のコマンドを?qū)g行するために使用されます。 .sh ファイルの実行は非常に一般的な操作です。この記事では、Linux システムで .sh ファイルを?qū)g行する方法と具體的なコード例を紹介します。方法 1: 絶対パスを使用して .sh ファイルを?qū)g行する Linux システムで .sh ファイルを?qū)g行するには、絶対パスを使用してファイルの場(chǎng)所を指定できます。具體的な手順は次のとおりです。 ターミナルを開きます。

URL ファイルを使用してインターネット リソースを開く方法には、次のようなものがあります。 Web ブラウザを使用してダブルクリックして開きます。テキスト エディタで開き、リンク アドレスをコピーしてブラウザのアドレス バーに貼り付けます。コマンド ラインから、「start」または「open」コマンドを使用して URL ファイル パスを指定します。 URL ファイルを開くコマンドを含むスクリプト ファイルを作成します。

win7 で butt ファイルを?qū)g行できないのはなぜですか? 最近、Windows7 オペレーティング システムを使用している多くのユーザーが .bat ファイルを?qū)g行できないと報(bào)告しています。これは広範(fàn)な議論と混亂を引き起こしました。正常に機(jī)能するオペレーティング システムが単純な .bat ファイルを?qū)g行できないのはなぜですか?まず、.bat ファイルの背景を理解する必要があります。バッチ ファイルとも呼ばれる .bat ファイルは、Windows コマンド インタープリタ (cmd.ex) で使用できる一連のコマンドが含まれるプレーン テキスト ファイルです。

Linux は、サーバー、デスクトップ、組み込みデバイスなどのさまざまな分野で広く使用されている、オープンソースでポータブルなカスタマイズ可能なオペレーティング システムです。 Linux の中核はカーネルであり、ハードウェア リソースの管理と基本サービスの提供を擔(dān)當(dāng)します。ただし、カーネルは獨(dú)立したエンティティではなく、さまざまなデータやプログラムを保存しアクセスするためにファイル システムを必要とします。ファイル システムは、ファイルを整理および管理する方法であり、ファイルの名前、場(chǎng)所、屬性、権限、およびその他の情報(bào)を定義します。 Linux には、ext4、xfs、btrfs など、さまざまな種類のファイル システムがあり、それぞれに獨(dú)自の特徴と利點(diǎn)があります。ただし、すべてのファイル システムの中に、Linux システムの基盤および中核となる特別なファイル システムがあります。

IT 管理者またはテクノロジーの専門家であれば、自動(dòng)化の重要性を認(rèn)識(shí)している必要があります。特に Windows ユーザーにとって、Microsoft PowerShell は最高の自動(dòng)化ツールの 1 つです。 Microsoft は、サードパーティのアプリケーションをインストールする必要なく、自動(dòng)化のニーズに対応するさまざまなツールを提供しています。このガイドでは、PowerShell を活用してタスクを自動(dòng)化する方法について詳しく説明します。 PowerShell スクリプトとは何ですか? PowerShell の使用経験がある場(chǎng)合は、コマンドを使用してオペレーティング システムを構(gòu)成したことがあるかもしれません。スクリプトは、.ps1 ファイル內(nèi)のこれらのコマンドの集合です。 .ps1 ファイルには、基本的な Get-Help など、PowerShell によって実行されるスクリプトが含まれています。

この Windows PowerShell スクリプト チュートリアルは、テクノロジ愛好家でも、スクリプト スキルの向上を目指す専門家でも、初心者向けに設(shè)計(jì)されています。 PowerShell スクリプトに関する予備知識(shí)がない場(chǎng)合は、この記事は基本から始めて、あなたに合わせてカスタマイズしてください。 PowerShell 環(huán)境のインストール手順をマスターし、PowerShell スクリプトの主な概念と機(jī)能を説明します。 PowerShell スクリプトについてさらに學(xué)ぶ準(zhǔn)備ができている場(chǎng)合は、このエキサイティングな學(xué)習(xí)の旅に一緒に乗り出しましょう。 WindowsPowerShell とは何ですか? PowerShell は、Microsoft によって開発されたハイブリッド コマンド システムです。

Linux ユーザーは、起動(dòng)プロセス中に必然的にさまざまな問題に遭遇することになります。その中でも、GRUB と SHIM の 2 つのツールが問題を引き起こす可能性が最も高くなります。 GRUB は GNU ブート ローダーであり、SHIM はトラステッド ブート (SecureBoot) ソリューションであり、この 2 つは Linux システムの起動(dòng)プロセスで連攜して動(dòng)作しますが、一部のユーザーを混亂させたり悩ませたりすることもあります。この記事では、Linux システム起動(dòng)時(shí)の GRUB および SHIM の問題を解決し、これらの障害を簡(jiǎn)単に克服できる方法を紹介します。 efibootmgr-v コマンドを使用して efi スタートアップ項(xiàng)目を変更する場(chǎng)合、ブート プログラムを指定するときに GRUBX64.EFI と SHIMX64.EFI のどちらを選択すればよいかわかりません。
