Функция Bash, вернуть жирный текст
Я пытаюсь написать простую функцию bash, которая возвращает жирный текст. Код, который я написал до сих пор:
function txt_bold() {<br>
echo -e '\033[1m$1\033[0m$2'<br>
tput sgr0<br>
}
Когда я пишу txt_bold "This is bold" "And this in plain text"
возвращает "$1$2" ($1, выделенный жирным шрифтом). Что я здесь не так делаю?
1 ответ
Решение
Использование "
вместо '
,
function txt_bold() {
echo -e "\033[1m$1\033[0m$2"
tput sgr0
}
короткий
В одинарных кавычках переменные не раскрываются.
Долго
Ниже нижняя строка этой статьи, которая может помочь вам понять это: в чем разница между одинарными и двойными кавычками в оболочке Bash?
Двойные кавычки
- Используется, когда вы хотите заключить переменные или использовать расширение оболочки внутри строки.
- Все символы внутри интерпретируются как обычные символы, кроме $ или `, которые будут раскрыты в оболочке.
Одинарные кавычки
- Все символы в одинарных кавычках интерпретируются как строковые символы.