

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

# 尋找和變更共用和 AWS SDKs `config`和工具`credentials`檔案的位置
<a name="file-location"></a>

共用 AWS `config` 和 `credentials` 檔案是純文字檔案，可保留 AWS SDKs和工具的組態資訊。檔案位於您環境中的本機，並由 SDK 程式碼或您在該環境中執行的 AWS CLI 命令自動使用。例如，在您自己的電腦上或在 Amazon Elastic Compute Cloud 執行個體上進行開發時。

當 SDK 或工具執行時，它會檢查這些檔案並載入任何可用的組態設定。如果檔案尚不存在，則軟體開發套件或工具會自動建立基本檔案。

根據預設，檔案位於名為 的資料夾中`.aws`，該資料夾位於您的 `home`或 使用者資料夾中。


| 作業系統 | 檔案的預設位置和名稱 | 
| --- | --- | 
| Linux 和 macOS | `~/.aws/config`<br />`~/.aws/credentials` | 
| Windows | `%USERPROFILE%\.aws\config`<br />`%USERPROFILE%\.aws\credentials` | 

## 主目錄解析
<a name="homeDirRes"></a>

`~` 僅在以下情況下用於主目錄解析：
+ 啟動路徑
+ 緊接著 `/`或平台特定分隔符號。在 Windows 上， `~/`和 `~\`都會解析為主目錄。

判斷主目錄時，會檢查下列變數：
+ （所有平台） `HOME`環境變數
+ (Windows 平台） `USERPROFILE`環境變數
+ (Windows 平台） `HOMEDRIVE`和 `HOMEPATH`環境變數的串連 (`$HOMEDRIVE$HOMEPATH`)
+ （每個 SDK 或工具選用） SDK 或工具特定的主路徑解析函數或變數

如果使用者的主目錄是在路徑的開頭指定 （例如，`~username/`)，則會解析為請求的使用者名稱的主目錄 （例如，`/home/username/.aws/config`)。

## 變更這些檔案的預設位置
<a name="file-location-change"></a>

您可以使用下列任一項來覆寫 SDK 或工具從中載入這些檔案的位置。

### 使用環境變數
<a name="file-location-change-envar"></a>

您可以設定下列環境變數，將這些檔案的位置或名稱從預設值變更為自訂值：
+ `config` 檔案環境變數： **`AWS_CONFIG_FILE`**
+ `credentials` 檔案環境變數： **`AWS_SHARED_CREDENTIALS_FILE`**

------
#### [ Linux/macOS ]

您可以在 Linux 或 macOS 上執行下列[匯出](https://linuxconfig.org/learning-linux-commands-export)命令來指定替代位置。

```
$ export AWS_CONFIG_FILE=/some/file/path/on/the/system/config-file-name
$ export AWS_SHARED_CREDENTIALS_FILE=/some/other/file/path/on/the/system/credentials-file-name
```

------
#### [ Windows ]

您可以在 Windows 上執行下列 [setx](https://docs.microsoft.com/windows-server/administration/windows-commands/setx) 命令來指定替代位置。

```
C:\> setx AWS_CONFIG_FILE c:\some\file\path\on\the\system\config-file-name
C:\> setx AWS_SHARED_CREDENTIALS_FILE c:\some\other\file\path\on\the\system\credentials-file-name
```

------

如需使用環境變數設定系統的詳細資訊，請參閱 [使用環境變數全域設定 AWS SDKs和工具](environment-variables.md)。

### 使用 JVM 系統屬性
<a name="file-location-change-jvmSysProp"></a>

對於在 JVM 上執行的適用於 Kotlin 的 SDK 和適用於 Java 的 SDK 2.x，您可以設定下列 JVM 系統屬性，將這些檔案的位置或名稱從預設值變更為自訂值：
+ `config` 檔案 JVM 系統屬性： **`aws.configFile`**
+ `credentials` 檔案環境變數： **`aws.sharedCredentialsFile`**

如需如何設定 JVM 系統屬性的說明，請參閱 [如何設定 JVM 系統屬性](jvm-system-properties.md#jvm-sys-props-set)。適用於 Java 的 SDK 1.x 不支援這些系統屬性。