GNU/Linux >> Znalost Linux >  >> Linux

Jaký způsob tisku hodnoty uvnitř proměnné uvnitř jediné nabídky?

Zvažte, že jsem nastavil proměnnou site a musí být vytištěn pomocí echo nebo printf , ale pokud k napsání něčeho použiji jednoduché uvozovky a chci použít proměnnou, jak?

Příklad:

$ site=unix.stackexchange.com
$ echo "visit:$site"
visit:unix.stackexchange.com

Ale pokud použiji jedinou uvozovku:

$ echo 'visit:$site'
visit:$site

Pak víme, že '' je silná citace a nerozšíří proměnnou

Něco jsem zkusil:

$ echo 'visit:"$site"'
visit:"$site"

ale neuspějí. Takže hledám způsob, jak vytisknout hodnotu uvnitř proměnné pomocí jednoduché uvozovky .

Přijatá odpověď:

Proměnné nelze rozšiřovat do jednoduchých uvozovek. Můžete však ukončit jednoduché uvozovky a začít dvojité:

echo 'visit:"'"$site"'"'

Nebo můžete uvnitř dvojitých uvozovek zpětné lomítko:

echo "visit:"$site""

Linux
  1. Jak určit optimální hodnotu parametru Bs k Dd?

  2. Zástupné znaky uvnitř uvozovek?

  3. Jak odsadit heredoc uvnitř heredocu správným způsobem?

  1. Jednoduchá závorka v přiřazení proměnné Bash?

  2. Chtěl bych uložit všechny argumenty příkazového řádku do skriptu Bash do jedné proměnné

  3. Existuje v bash způsob, jak echo/tisknout poslední stdout? Existuje proměnná, ke které je přiřazena stdout?

  1. Vytváření proměnné pomocí hodnoty proměnné jako součásti nového názvu proměnné?

  2. Zkontrolujte, zda existuje proměnná v seznamu v Bash

  3. Obnovení stdout a stderr na výchozí hodnotu