Запитання з тегом «variable-substitution»

1
Що означає заміна $ {! Var_name + x}?
Я знайшов сценарій, який має функцію, яка перевіряє, чи встановлена ​​змінна, але я її не дуже добре розумію. check_if_variable_is_set() { var_name=$1 if [ -z "${!var_name+x}" ]; then false else true fi } Що саме відбувається з цією заміною?

3
Чи може підстановка команд вкладатись у змінну підстановку?
Я хотів би використовувати змінну підстановку для певного рядка, до якого я отримую доступ через команду. Наприклад, якщо я щось копіюю в буфер обміну, я можу отримати доступ до нього так. $ xclip -o -selection clipboard Here's a string I just copied. Якщо я призначу його змінній, то я можу …

2
Додайте до змінної PATH, не створюючи провідної кишки, якщо її не встановлено
Мені потрібно додати каталог PKG_CONFIG_PATH. Як правило, я б використовував стандарт export PKG_CONFIG_PATH=${PKG_CONFIG_PATH}:$(pyenv prefix)/lib/pkgconfig але PKG_CONFIG_PATHраніше не було встановлено в моїй системі. Тому змінна починається з :символу, який підказує її спочатку переглянути в поточній директорії. Я цього не хочу. Я зупинився на наступному, export PKG_CONFIG_PATH=${PKG_CONFIG_PATH}${PKG_CONFIG_PATH:+:}$(pyenv prefix)/lib/pkgconfig але це просто здається …

3
Як я можу передати аргумент, збережений на змінній, до WGET
Я пишу bash-сценарій, який широко використовує wget. Для визначення всіх загальних параметрів в одному місці я зберігаю їх на змінних. Ось фрагмент коду: useragent='--user-agent="Mozilla/5.0 (Windows NT 6.1; WOW64; rv:27.0) Gecko/20100101 Firefox/27.0"' cookies_file="/tmp/wget-cookies.txt" save_cookies_cmd="--save-cookies $cookies_file --keep-session-cookies" load_cookies_cmd="--load-cookies $cookies_file --keep-session-cookies" function mywget { log "#!!!!!!!!!# WGET #!!!!!!!!!# wget $quiet $useragent $load_cookies_cmd $@" …

10
Bash: витягніть один з чотирьох розділів адреси IPv4
Ми можемо використовувати синтаксис ${var##pattern}і ${var%%pattern}витягнути останній і перший розділ адреси IPv4: IP=109.96.77.15 echo IP: $IP echo 'Extract the first section using ${var%%pattern}: ' ${IP%%.*} echo 'Extract the last section using ${var##pattern}: ' ${IP##*.} Як ми можемо витягти другий чи третій розділ адреси IPv4, використовуючи розширення параметра? Ось моє рішення: …

2
Греп, щоб знайти правильний рядок, sed щоб змінити вміст, а потім повернути його в початковий файл?
Я намагаюся змінити одне слово у певному рядку у файлі, але у мене виникають певні проблеми при з'єднанні всіх разом. В основному, в одному рядку в моєму файлі є ключове слово 'firmware_revision', і в цьому рядку (і лише в цьому рядку) я хочу замінити слово 'test' на слово 'production'. Тож …

2
Маніпулювання струнними баш-ланцюгами
Я читав деякі інші питання з маніпулювання стрункою bash string, але вони здаються спеціалізованими програмами. По суті, чи є спосіб зробити наступне простішим? замість $ string='hello world'; string2="${string// /_}"; echo "${string2^^}" HELLO_WORLD щось на зразок $ echo 'hello world' | $"{-// /_}" | "${ -^^}" HELLO_WORLD Редагувати Мені цікаво залишатися …
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.