Getting started on Linux or macOS with Bash
This guide contains the exact Bash syntax for the supported Linux/Bash and macOS/Bash product mappings. Shared command behavior is documented separately in the command reference.
Requirements
- Linux or macOS
- Bash
- standard shell utilities used by the tool, including
curl,awk,grep,sed,tr,mktemp,chmod,mv,rm, andtar - a SHA-256 utility for stable tool bootstrap and eligible historical .NET 1.x payloads:
sha256sumwhere available orshasum -a 256 - a SHA-512 utility for SDK payload verification:
sha512sumwhere available orshasum -a 512 - network access when bootstrap or SDK installation downloads remote artifacts
A system-wide dotnet installation is not required.
Install or update the stable tool
Install the latest published stable release, or rerun the same command later to explicitly update to the latest stable release:
curl -fsSL https://isolated-dotnet-sdk.infoconex.com/install.sh | bash
The Pages-hosted bootstrap resolves the latest published stable GitHub Release, downloads that release’s tagged isolated-dotnet-sdk.sh and SHA256SUMS, verifies the released script’s SHA-256, and executes only the verified released script. The piped bootstrap itself is trusted through HTTPS delivery from the project Pages site and cannot verify its own bytes before execution.
The verified released file is saved as:
$HOME/dotnet-sdks/isolated-dotnet-sdk.sh
Normal execution of that saved tool does not auto-update. For an explicit pinned version, reproducible installation, or rollback, see Stable bootstrap, update, and rollback.
Identify the tool version
"$HOME/dotnet-sdks/isolated-dotnet-sdk.sh" --version
Stable releases published with embedded identity report their exact release tag. Mutable main reports isolated-dotnet-sdk development (main) instead of claiming a stable version. The query exits without bootstrap, network access, SDK discovery, prompting, or mutation.
This identifies the isolated-dotnet-sdk tool itself. --sdk-version <sdk-version> explicitly selects a .NET SDK, and a bare value such as 10.0.401 is the equivalent positional selector. See Tool version.
Start an interactive session
"$HOME/dotnet-sdks/isolated-dotnet-sdk.sh"
Main displays the same stable/development tool identity near the top. The persistent session uses I for Install, R for Remove, L for List, V for Verify, A for Audit, and E for Exit. See Interactive mode for navigation semantics.
Install an SDK
Open the interactive install picker once and exit when it completes:
"$HOME/dotnet-sdks/isolated-dotnet-sdk.sh" install
Install a known exact version directly with the explicit SDK selector:
"$HOME/dotnet-sdks/isolated-dotnet-sdk.sh" install --sdk-version 10.0.401
Without an explicit action, --sdk-version implies Install:
"$HOME/dotnet-sdks/isolated-dotnet-sdk.sh" --sdk-version 10.0.401
The equivalent positional convenience form is also supported:
"$HOME/dotnet-sdks/isolated-dotnet-sdk.sh" 10.0.401
If a matching System SDK already exists, Install normally asks before creating an isolated copy. Use --yes only when that confirmation should be approved automatically:
"$HOME/dotnet-sdks/isolated-dotnet-sdk.sh" install 10.0.401 --yes
See Install for the behavioral and integrity contract.
List installed SDKs
"$HOME/dotnet-sdks/isolated-dotnet-sdk.sh" list
List shows Isolated SDKs first and read-only System SDKs second. See List.
Audit installed SDKs
Run the explicit online, read-only servicing and lifecycle assessment:
"$HOME/dotnet-sdks/isolated-dotnet-sdk.sh" audit
Audit reports Isolated SDKs and System SDKs separately and uses current Microsoft release metadata. It does not install, remove, or repair SDKs. See Audit.
Verify an isolated SDK
Run Verify directly for a known exact isolated SDK:
"$HOME/dotnet-sdks/isolated-dotnet-sdk.sh" verify 10.0.401
Verify is read-only. The persistent Main menu also exposes V so you can choose from installed isolated SDKs; System SDKs are not offered as Verify targets. See Verify.
Use an isolated SDK
Invoke the selected version’s host directly:
"$HOME/dotnet-sdks/10.0.401/dotnet" --version
"$HOME/dotnet-sdks/10.0.401/dotnet" --info
Normal .NET CLI arguments such as restore, build, test, and run work through that same host path. Nothing in this pattern adds the isolated SDK to PATH.
For global.json, VS Code, and project-level workflows, see Project and editor use.
Remove an isolated SDK
Open the removal picker:
"$HOME/dotnet-sdks/isolated-dotnet-sdk.sh" remove
Remove one exact isolated SDK:
"$HOME/dotnet-sdks/isolated-dotnet-sdk.sh" remove 10.0.401
For intentional automation, approve the tool-owned default-no confirmation with --yes:
"$HOME/dotnet-sdks/isolated-dotnet-sdk.sh" remove 10.0.401 --yes
Bash does not emulate PowerShell’s -WhatIf or -Confirm facilities. See Remove for the shared behavior.
Development source
For explicit development testing only, mutable main can be piped into Bash:
curl -fsSL https://raw.githubusercontent.com/infoconex/isolated-dotnet-sdk/main/isolated-dotnet-sdk.sh | bash
This is not a stable installation command. It consumes mutable source and does not receive the stable-release checksum guarantee. Once saved, that development copy reports isolated-dotnet-sdk development (main) through --version and on Main.
Troubleshooting and safe recovery
If a bootstrap download, SDK installation, Verify report, Audit request, or Remove operation fails, follow Troubleshooting and safe recovery before deleting or replacing anything under dotnet-sdks. A failed Verify local check differs from temporarily unavailable Microsoft metadata, and a conflicting existing destination is deliberately preserved.