目次
Bash での $() と ${} の比較" >Bash での $() と ${} の比較
$(コマンド)について" >$(コマンド)について
了解 ${parameter}" >了解 ${parameter}
ホームページ 運用・保守 Linuxの運用と保守 Bash の ${} と $() の違いは何ですか

Bash の ${} と $() の違いは何ですか

Aug 02, 2023 pm 03:30 PM
bash


Linux などの GNU ベースのオペレーティング システムは、ほとんどのコンピューティング タスクと目標を達成するために、Bash と呼ばれるコマンド言語インタープリターまたはシェルに依存しています。

Bash の ${} と $() の違いは何ですか

Bash は Bourne Again Shell の略称で、Bourne Again Shell は Bourne Shell (つまり Steven Bourne が発明したもの) に敬意を表したダジャレ名です。互換性の点では、Bash と sh は完全に一致します。 C シェル ( csh ) および Korn シェル ( ksh ) に見られる便利な機能も、このシェル言語インタープリターに含まれています。

実装の面では、Bash は IEEE POSIX 仕様 (IEEE 標準 1003.1) のツール部分と IEEE POSIX シェルに準拠することを目指しています。したがって、インタラクティブなプログラミング ツールとして、Bash は sh よりも機能が向上しています。

Linux やその他の GNU ベースのオペレーティング システムのユーザーは、主要なコマンド言語インタープリタとして Bash のみに依存する必要はありません。これは、これらのシステムには csh などのシェルのバージョンも事前にパッケージ化されているためです。移植性などの独自のシェル特性により、Bash はデフォルトの Linux シェルとしてのみ使用されるように構成されています。

Bash での $() と ${} の比較

Bash 環境に関連するこれら 2 つのプロパティを比較するには、$() を繰り返す必要があります。 $(command)${}to ${parameter}。したがって、これら 2 つの Bash エンティティを定義してみることができます。

$(コマンド)について

$(コマンド)Bash でのコマンド置換が含まれます。具体的には、コマンド部分 in$(command) が実行され、その出力がキャプチャされて標準出力に出力されます。

牛逼啊!接私活必备的 N 个开源项目!赶快收藏
ログイン後にコピー

$(command) の背後にある構文はトークン レベルです。端末に現在の日付を出力するように設計された次のコマンドを実行することを検討してください。

echo "今天是 $(date). LinuxMi.com 又是美好的一天。"
ログイン後にコピー

Bash の ${} と $() の違いは何ですか

在 Linux 中打印日期

上述执行可以用以下方式解释。首先,执行 date 命令并将其输出作为参数包含在 echo 命令中。

在这里,我们可以假设命令替换在重新包含在主 shell 之前在单独的子 shell 中执行。

了解 ${parameter}

${parameter}在Bash中涉及参数替换。根据 Bash 手册页,参数是一个值存储实体。参数实体可以与名称、数字或特殊字符相关联。

大括号{}暗示我们在处理位置参数,或者在使用的参数(参数值)后面是一个与参数名称不相关的非解释性字符,例如${animal}s

至于位置参数,可以用一个或多个数字来表示(单个数字 0 除外)。因此,如果我们有一个名为$variable_name的变量,则可以使用参数 替换${parameter}来检索关联的变量值。

考虑以下变量声明命令:

$ animal=lion
ログイン後にコピー

让我们调用 animal 变量以尝试将变量值复数:

$ echo $animals
ログイン後にコピー

Bash の ${} と $() の違いは何ですか

在命令中声明变量

在标准输出中不会打印任何内容,因为 Bash 不理解变量$animals。但是,我们可以通过如下方式使用参数替换方法成功调用我们的$animals变量:

$ echo ${animal}s
ログイン後にコピー

Bash の ${} と $() の違いは何ですか

在命令中调用变量

在某些情况下,感叹号可能会在参数替换实现的第一个左大括号之后出现。在这种情况下,就会出现变量间接的概念。另外,搜索公众号Linux就该这样学后台回复“猴子”,获取一份惊喜礼包。

变量值优先于参数值,如下所示:

$ animal=lion 
$ echo $animal
$ lion=rafiki
$ echo $lion
$ echo ${!animal}
ログイン後にコピー

Bash の ${} と $() の違いは何ですか

参数值的优先级

希望本文能够说明 Bash 中$()${}之间的区别。

以上がBash の ${} と $() の違いは何ですかの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

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

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

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

Windows でシェル スクリプト ファイルを実行するさまざまな方法 Windows でシェル スクリプト ファイルを実行するさまざまな方法 Apr 13, 2023 am 11:58 AM

Linux 用 Windows サブシステム 最初のオプションは、Linux バイナリ実行可能ファイルを Windows システム上でネイティブに実行するための互換性レイヤーである Windows サブシステム for Linux または WSL を使用することです。ほとんどのシナリオで機能し、Windows 11/10 でシェル スクリプトを実行できるようになります。 WSL は自動的には利用できないため、Windows デバイスの開発者設定を通じて有効にする必要があります。これを行うには、[設定] > [更新とセキュリティ] > [開発者向け] に移動します。開発者モードに切り替え、プロンプトを確認して [はい] を選択します。次にWを探します

Ubuntu Bash のパフォーマンス比較: Ubuntu と Win10 Anniversary Edition Ubuntu Bash のパフォーマンス比較: Ubuntu と Win10 Anniversary Edition Jan 04, 2024 pm 09:36 PM

今年の初めに Microsoft と Canonical が Windows 10 Bash と Ubuntu ユーザー空間をリリースしたとき、私は Windows 10 上の Ubuntu でネイティブ Ubuntu と比較していくつかの予備的なパフォーマンス テストを実行しようとしました。今回は、ネイティブ純粋な Ubuntu 間のベンチマーク比較について詳しく公開しました。 Ubuntu と Windows 10。 Windows 用の Linux サブシステム テストはすべてのテストを完了し、Windows 10 Anniversary Update とともにリリースされました。デフォルトの Ubuntu ユーザー スペースはまだ Ubuntu14.04 ですが、16.04 にアップグレードできます。したがって、テストは最初に 14.04 でテストされ、完了後、システムは 16.04 にアップグレードされます。

あまり知られていない 5 つの最新の Bash スクリプト テクニック あまり知られていない 5 つの最新の Bash スクリプト テクニック Jun 26, 2023 pm 08:36 PM

プログラマは多くの場合、Bash コマンド言語を使用してシェル スクリプトを作成し、手動タスクを自動化します。たとえば、さまざまな構成、ファイル操作、ビルド結果の生成、およびさまざまな DevOps 関連アクティビティのための Bash スクリプトを作成します。ほとんどすべての Unix 系または Unix ベースのオペレーティング システムでは、プリインストールされた Bash インタープリタがユーザーに提供されるため、Bash を使用して、より移植性の高い自動化スクリプトを作成できます。すでにご存知のとおり、Bash スクリプトとは、Bash コマンド言語、組み込み Bash コマンド、および GNU Core Tools などのコア オペレーティング システム CLI プログラムの構文を使用して一連のコマンドを作成することを指します。標準的で昔ながらの Bash スクリプトは通常、いくつかのコマンドを実行し、ターミナルにプレーン テキストを表示します。

A の B 乗を求める Bash プログラム? A の B 乗を求める Bash プログラム? Aug 30, 2023 pm 09:01 PM

ここでは、bash スクリプトを使用して数値 A の B 乗を取得する方法を見ていきます。ロジックは簡単です。これを行うには、「**」演算子またはべき乗演算子を使用する必要があります。この概念を明確に理解するために、次のプログラムを見てみましょう。例#!/bin/bash#GNUbashScripta=5b=6echo "$(($a**$b))" 出力 15625

bash の脆弱性再発の分析例 bash の脆弱性再発の分析例 May 19, 2023 am 11:13 AM

BourneAgainShell (略して BASH) は、GNU/Linux で最も人気のある SHELL 実装です。1980 年に誕生しました。数十年の進化を経て、単純なターミナル コマンド ライン インタプリタから、GNU システムと深く統合された多機能インターフェイスに進化しました。 . . Bash、Unix シェルの一種。最初の正式バージョンは 1989 年にリリースされました。当初は GNU オペレーティング システムで使用することが計画されていましたが、これをデフォルトのシェルとして使用する Linux や MacOSXv10.4 など、ほとんどの Unix 系オペレーティング システムで実行できます。 Microsoft Windows 上の Cygwin および MinGW にも移植されており、MS-Windows 上でも使用できます。

Windows 11 Bug Bash ステッカーを入手できるのは今日が最終日です Windows 11 Bug Bash ステッカーを入手できるのは今日が最終日です May 13, 2023 pm 08:25 PM

先週 Microsoft は、長期および短期的に Windows 11 の開発を改善する (できれば) タスクに Windows 内部関係者を参加させることを目的としたキャンペーンである BugBash を発表しました。 3 月 16 日時点では、完了できるミッションの数は約 26 でしたが、現在では 75 という驚異的な数に増加しています。ただし、ここにキッカーがあります。BugBash は 3 月 22 日に終了し、フィードバック ハブに表示される BugBash 固有のステッカーを獲得する機会も終了します。 Windows11 BugBash に参加するには、開発チャネルから最新の Windows 11 プレビュー ビルド (build2) を取得する必要があります。

Bash を使用して Web セーフカラーを作成する Bash を使用して Web セーフカラーを作成する Jul 07, 2023 pm 06:54 PM

コンピューターのモニターのカラー パレットが限られている場合、Web デザイナーは Web セーフ カラーのセットを使用して Web サイトを作成することがよくあります。新しいデバイスで表示される最新の Web サイトでは、元の Web セーフ パレットよりも多くの色が表示されることがありますが、Web ページを作成するときに Web セーフ カラーを参照したいことがあります。こうすることで、私のページがどこでも見栄えが良くなることがわかります。 Web セーフ パレットはオンラインで見つけることができますが、簡単に参照できるように独自のコピーを用意したいと思いました。 Bash の for ループを使用して作成することもできます。 Bashfor ループ Bash の for ループの構文は次のとおりです: コレクション内の変数; do ステートメント; 完了 たとえば、1 から 3 までのすべての数値を出力するとします。 Basをすぐに使用できるようになります

すぐに Linux コマンド ライン マスターになれる 8 つのシェル コマンド すぐに Linux コマンド ライン マスターになれる 8 つのシェル コマンド Jun 17, 2023 am 09:38 AM

プログラミングのしっかりとした基礎を持つことは、優れたソフトウェア エンジニアにとって明らかに必須の資質です。 Python のようなインタープリタ言語であっても、C++ のようなコンパイル言語であっても、少なくとも 1 つのプログラミング言語をマスターすることが重要です。ただし、これは真にバランスのとれたエンジニアになるための 1 つの側面にすぎません。シェル環境で道に迷ってしまうと、その基礎知識は役に立ちません。 Bash でコマンドを柔軟に使用すると、従来のプログラミング言語では到達できない領域に到達できます。実際には、より強力なプログラミング言語を使用する必要がない場合もあります。シェルのみを使用することで、追加の依存関係を必要とせずに、必要なタスクをより迅速かつ簡単に実行できます。この記事では、非常に便利な Bash コマンドをいくつか紹介します。

See all articles