選取您的 Cookie 偏好設定

我們使用提供自身網站和服務所需的基本 Cookie 和類似工具。我們使用效能 Cookie 收集匿名統計資料,以便了解客戶如何使用我們的網站並進行改進。基本 Cookie 無法停用,但可以按一下「自訂」或「拒絕」以拒絕效能 Cookie。

如果您同意,AWS 與經核准的第三方也會使用 Cookie 提供實用的網站功能、記住您的偏好設定,並顯示相關內容,包括相關廣告。若要接受或拒絕所有非必要 Cookie,請按一下「接受」或「拒絕」。若要進行更詳細的選擇,請按一下「自訂」。

在 中使用引號和常值搭配字串 AWS CLI

焦點模式
在 中使用引號和常值搭配字串 AWS CLI - AWS Command Line Interface

本文件 AWS CLI 僅適用於 第 1 版。如需 第 2 版的相關文件 AWS CLI,請參閱 第 2 版使用者指南

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

本文件 AWS CLI 僅適用於 第 1 版。如需 第 2 版的相關文件 AWS CLI,請參閱 第 2 版使用者指南

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

在 AWS CLI中使用單引號和雙引號的方式主要有兩種。

在包含空格的字串前後使用引號

參數名稱及其值在命令列上以空格分隔。如果字串值包含內嵌空間,則必須以引號括住整個字串,以防止 AWS CLI 將空間誤判為值和下一個參數名稱之間的分隔符號。您使用的引號類型取決於您執行 的作業系統 AWS CLI 。

Linux and macOS

使用單引號 ' '

$ aws ec2 create-key-pair --key-name 'my key pair'

如需使用引號的詳細資訊,請依據您偏好的 Shell 參閱相關使用者文件。

PowerShell

單引號 (建議使用)

單引號 ' ' 稱為 verbatim 字串。此字串將照您的輸入傳遞至命令,這表示不會傳遞 PowerShell 變數。

PS C:\> aws ec2 create-key-pair --key-name 'my key pair'

雙引號

雙引號 " " 稱為 expandable 字串。變數可在可擴充的字串中傳遞。

PS C:\> aws ec2 create-key-pair --key-name "my key pair"

如需使用引號的詳細資訊,請參閱 Microsoft PowerShell 文件中的關於引號規則

Windows command prompt

使用雙引號 " "

C:\> aws ec2 create-key-pair --key-name "my key pair"

使用單引號 ' '

$ aws ec2 create-key-pair --key-name 'my key pair'

如需使用引號的詳細資訊,請依據您偏好的 Shell 參閱相關使用者文件。

您也可以使用等號 = 而非空格來將參數名稱與數值分開。通常只有當參數值的開頭為連字號時,才需要這麼做。

$ aws ec2 delete-key-pair --key-name=-mykey

在字串內使用引號

字串可能包含引號,且您的 Shell 可能需要逸出引號才能使其正常運作。其中一個常見的參數值類型是 JSON 字串。這很複雜,因為其在 JSON 結構中的每個元素名稱和數值前後都包含空格和雙引號 " "。您在命令列輸入 JSON 格式參數的方式會因您的作業系統而異。

若要在命令列中使用更進階的 JSON,請考慮使用 jq 之類的命令列 JSON 處理器來建立 JSON 字串。如需 jq 的詳細資訊,請參閱 GitHub 上的 jq 儲存庫

Linux and macOS

為了讓 Linux 和 macOS 按字面含義解釋字串,請使用單引號 ' ' 將 JSON 資料結構括住,如以下範例所示。您不需要逸出 JSON 字串中內嵌的雙引號,因為它們會以字面含義處理。由於 JSON 會以單引號括住,因此字串中的任何單引號都需要逸出;為此,我們通常會在單引號前面使用反斜線 \'

$ aws ec2 run-instances \ --image-id ami-12345678 \ --block-device-mappings '[{"DeviceName":"/dev/sdb","Ebs":{"VolumeSize":20,"DeleteOnTermination":false,"VolumeType":"standard"}}]'

如需使用引號的詳細資訊,請依據您偏好的 Shell 參閱相關使用者文件。

PowerShell

使用單引號 ' ' 或雙引號 " "

單引號 (建議使用)

單引號 ' ' 稱為 verbatim 字串。此字串將照您的輸入傳遞至命令,這表示不會傳遞 PowerShell 變數。

由於 JSON 資料結構包含雙引號,我們建議使用引號 ' ' 將其括住。如果您使用引號,則不需要逸出內嵌在 JSON 字串中的引號。但在 JSON 結構中,您必須使用反引號 ` 來逸出每個引號。

PS C:\> aws ec2 run-instances ` --image-id ami-12345678 ` --block-device-mappings '[{"DeviceName":"/dev/sdb","Ebs":{"VolumeSize":20,"DeleteOnTermination":false,"VolumeType":"standard"}}]'

雙引號

雙引號 " " 稱為 expandable 字串。變數可在可擴充的字串中傳遞。

如果您使用引號,則不需要逸出內嵌在 JSON 字串中的引號。但在 JSON 結構中,您必須使用反引號 ` 來逸出每個引號,如以下範例所示。

PS C:\> aws ec2 run-instances ` --image-id ami-12345678 ` --block-device-mappings "[{`"DeviceName`":`"/dev/sdb`",`"Ebs`":{`"VolumeSize`":20,`"DeleteOnTermination`":false,`"VolumeType`":`"standard`"}}]"

如需使用引號的詳細資訊,請參閱 Microsoft PowerShell 文件中的關於引號規則

警告

在 PowerShell 將命令傳送至 之前 AWS CLI,它會判斷您的命令是使用典型的 PowerShell CommandLineToArgvW 還是引號規則來解譯。在 PowerShell 使用 CommandLineToArgvW 進行處理時,您必須使用反斜線 \ 逸出字元。

如需 PowerShell 中 CommandLineToArgvW 的詳細資訊,請參閱 Microsoft DevBlogs 中的 CommandLineToArgvW 對引號和反斜線的奇怪處理是怎麼回事 (What's up with the strange treatment of quotation marks and backslashes by CommandLineToArgvW)、Microsoft Docs Blog 中的大家都以錯誤方式引用命令列引數 (Everyone quotes command line arguments the wrong way),以及 Microsoft Docs 中的 CommandLineToArgvW 函數

單引號

單引號 ' ' 稱為 verbatim 字串。此字串將照您的輸入傳遞至命令,這表示不會傳遞 PowerShell 變數。使用反斜線 \ 逸出字元。

PS C:\> aws ec2 run-instances ` --image-id ami-12345678 ` --block-device-mappings '[{\"DeviceName\":\"/dev/sdb\",\"Ebs\":{\"VolumeSize\":20,\"DeleteOnTermination\":false,\"VolumeType\":\"standard\"}}]'

雙引號

雙引號 " " 稱為 expandable 字串。變數可在 expandable 字串中傳遞。對於雙引號字串,您必須在每個引號使用 `\ 逸出兩次,而不是只用反引號。反引號會逸出反斜線,然後使用反斜線做為 CommandLineToArgvW 程序的逸出字元。

PS C:\> aws ec2 run-instances ` --image-id ami-12345678 ` --block-device-mappings "[{`\"DeviceName`\":`\"/dev/sdb`\",`\"Ebs`\":{`\"VolumeSize`\":20,`\"DeleteOnTermination`\":false,`\"VolumeType`\":`\"standard`\"}}]"

Blob (建議)

若要繞過 JSON 資料輸入的 PowerShell 引號規則,請使用 Blob 將 JSON 資料直接傳遞至 AWS CLI。如需 Blobs 的詳細資訊,請參閱 Blob

Windows command prompt

Windows 命令提示要求使用雙引號 " " 括住 JSON 資料結構。此外,若要防止命令處理器錯誤解譯 JSON 中內嵌的雙引號,您也必須在 JSON 資料結構本身中逸出 (前面加上反斜線 \ 字元) 每個雙引號 ",如下列範例所示。

C:\> aws ec2 run-instances ^ --image-id ami-12345678 ^ --block-device-mappings "[{\"DeviceName\":\"/dev/sdb\",\"Ebs\":{\"VolumeSize\":20,\"DeleteOnTermination\":false,\"VolumeType\":\"standard\"}}]"

只有最外面的雙引號不用逸出。

為了讓 Linux 和 macOS 按字面含義解釋字串,請使用單引號 ' ' 將 JSON 資料結構括住,如以下範例所示。您不需要逸出 JSON 字串中內嵌的雙引號,因為它們會以字面含義處理。由於 JSON 會以單引號括住,因此字串中的任何單引號都需要逸出;為此,我們通常會在單引號前面使用反斜線 \'

$ aws ec2 run-instances \ --image-id ami-12345678 \ --block-device-mappings '[{"DeviceName":"/dev/sdb","Ebs":{"VolumeSize":20,"DeleteOnTermination":false,"VolumeType":"standard"}}]'

如需使用引號的詳細資訊,請依據您偏好的 Shell 參閱相關使用者文件。

下一個主題:

檔案參數

上一個主題:

常用參數類型
隱私權網站條款Cookie 偏好設定
© 2025, Amazon Web Services, Inc.或其附屬公司。保留所有權利。