Описание тега parameter-expansion
Расширение параметров заменяет переменные их значениями на этапе оценки команды в большинстве оболочек, производных от Борна.
0
ответов
Почему%~z игнорируется? (партия, ЗА)
Первая из этих двух работ, вторая ничего не дает: FOR / f %% a in ('dir C: \ / b') do (echo %% a) FOR / f %% a in ('dir C: \ / b') do (echo %% ~ za) Первая из этих двух работ, вторая ничего не дает: FOR / f "tokens = 5 delims =" %% a in ('dir C: \')…
02 дек '18 в 03:44
2
ответа
Расширение параметров оболочки на массивах
Скажем, я прочитал некоторые данные в массив Bash: $ IFS=" " read -a arr <<< "hello/how are/you iam/fine/yeah" Теперь я хочу напечатать первый /поле для каждого элемента в массиве. Что я делаю, так это перебираю элементы и использую расшире…
08 июн '16 в 09:11
3
ответа
Удалите первые цифры из строки с помощью Bash, используя расширение параметра
Начальная строка RU="903B/100ms"из которого я хочу получить B/100ms, В настоящее время я написал: #!/bin/bash RU="903B/100ms" RU=${RU#*[^0-9]} echo $RU который возвращается /100ms поскольку расширение параметра удаляет вплоть до первого нечислового …
11 авг '16 в 10:55
0
ответов
Bash: объявлять массив динамически на основе другого массива, сохраняя при этом структуру элемента
У меня есть скрипт, который можно запустить с разными "вкусами". Логика для каждого варианта почти идентична (за исключением значений переменных, которые он использует). Поэтому я решил объявить все переменные для каждого аромата, используя шаблон п…
01 мар '18 в 03:34
1
ответ
bash echo - как обозначить конец команды
NL=$'\n' CMD="" CMD="$CMD echo Hello ; $NL" CMD="$CMD echo World ; $NL" $CMD Приведенный выше код дает следующий вывод, echo все после этого. Hello ; echo World ; Ни символ новой строки, ни точка с запятой здесь не работают. Что не так?
29 авг '17 в 05:59
1
ответ
Причина непоследовательного поведения одинарных кавычек при расширении параметра BASH?
При использовании BASH Parameter Expansion строка, в которую раскрывается переменная, может быть заключена в кавычки / экранироваться, что прекрасно работает, за исключением случаев, когда используются одинарные кавычки и вся переменная экранируется…
14 дек '18 в 19:12
1
ответ
Двойные кавычки в расширении параметров Zsh
У меня есть два теста в zsh А. без кавычек ~$ y=(${(f)$(echo -e "a b\nc d")}); printf "<%s>\n" "${y[@]}" <a b c d> Б. с цитатами ~$ y=(${(f)"$(echo -e "a b\nc d")"}); printf "<%s>\n" "${y[@]}" <a b> <c d> Однако, если я…
31 дек '18 в 03:34
2
ответа
Механика этого синтаксиса оболочки: ${1:-$(</ dev / stdin)}
Я недавно столкнулся с этим действительно аккуратным синтаксисом, в контексте создания bash функции, которые могут принимать аргумент или поток из STDIN (т.е. могут быть переданы по каналу). На первый взгляд, я понимаю, что здесь происходит, но я хо…
30 янв '19 в 09:30
2
ответа
Regex matching end of a line $ not working in Bash Script
I'm trying to do a simple regex statement in a bash script that will match and substitute the end of a word. Ниже то, что я пытаюсь сделать. wordh > word:’ Ниже приведен код, который я использую. #!/bin/bash STAT=${STAT/h$/:’} I'm not familiar wi…
09 янв '16 в 06:24
1
ответ
CD ${1:-.} что это значит
#====================script 5 -- ls reccurssive avec cd ======= #!/bin/bash exec 2>/dev/null # redirige stderr pour toute la suite # au cas ou le script est invoque sans argument $1 # n'existe pas, la commande suivante devient cd . cd ${1:-.} # p…
12 фев '17 в 10:34
3
ответа
Как выполнить команду, хранящуюся в переменной?
Как правильно вызвать команду, хранящуюся в переменной?Есть ли различия между 1 и 2? #!/bin/sh cmd="ls -la $APPROOTDIR | grep exception" #1 $cmd #2 eval "$cmd"
12 янв '11 в 12:13
1
ответ
Неправильное расширение параметров класса символов Bash
Вот все шаги, которые, кажется, предлагают мне ошибку в bash. Информация о версии и платформе --> cat /etc/os-release NAME="Ubuntu" VERSION="14.04.5 LTS, Trusty Tahr" ID=ubuntu ID_LIKE=debian PRETTY_NAME="Ubuntu 14.04.5 LTS" VERSION_ID="14.04" HO…
20 ноя '16 в 19:56
2
ответа
Bash: Как использовать расширение параметра оператора ${параметр @ оператор}?
Я гуглил и пробовал так много вещей и никогда не мог заставить что-либо работать с ${parameter@operator}. Все, что я нахожу, - больше ссылок на ту же документацию. Поэтому я думаю, что правильный ответ с практическими примерами был бы очень полезен …
22 ноя '16 в 01:06
1
ответ
В bash, что означает dir=${0%/*}?
Я нашел этот кусок кода во время изучения сценария bash: dir=${0%/*} Я подозреваю, что код внутри скобок является регулярным выражением, но я не понимаю, что это значит. Любая идея?
22 дек '16 в 15:40
2
ответа
В Bash, есть ли способ дважды раскрыть переменные в двойных кавычках?
Для отладки моих сценариев я хотел бы добавить внутренние переменные $FUNCNAME и $LINENO в начале каждого из моих выходных данных, чтобы я знал, на какую функцию и номер строки выводятся выходные данные. foo(){ local bar="something" echo "$FUNCNAME …
25 май '18 в 21:30
1
ответ
Установка переменных по умолчанию с расширением параметра vs if/else test -z
Поэтому традиционно, когда я пишу скрипты bash с флагами аргументов, я реализую значения по умолчанию с помощью базового оператора test, например if [ -z $foo ] then foo=$bar fi Сегодня я столкнулся с более сложными расширениями параметров, которые,…
06 июл '18 в 19:33
3
ответа
Извлечь подстроку перед точкой
Я пытаюсь вычесть первую строку перед dot (.) в баш. Например: 1.2.3 -> 1 11.4.1 -> 11 Я использовал следующую команду на основе документов: s=4.5.0 echo "${s%.*}" Но это выходы 4.5 вместо 4, Я не понимаю Это почему?
22 ноя '16 в 09:40
2
ответа
Расширение переменной сценария оболочки с помощью escape
Следующий скрипт: #!/bin/bash nested_func() { echo $1 echo $2 } func() { echo $1 nested_func $2 } func 1 "2 '3.1 3.2'" Выходы: 1 2 '3.1 Что я хотел бы получить в качестве вывода: 1 2 3.1 3.2 Как мне добиться этого выхода с одним параметром на func в…
30 окт '17 в 13:11
2
ответа
Некоторый вывод, потерянный в команде, передан в SSH
Я пытаюсь использовать команду SSH для SSH к серверу и запуститьuseradd Команда, которую я передал ему. Похоже, что он работает нормально по большей части (без ошибок), но хешированный пароль в /etc/shadow в файле не хватает соли (я думаю, что это т…
07 дек '17 в 19:23
3
ответа
Как извлечь подстроку в оболочке Рыба?
Я получил следующую переменную: set location "America/New_York" и хотите отобразить только часть до / (косая черта) используя fish Синтаксис оболочки. Ожидаемый результат Америка Баш эквивалент Используя bash, я просто использовал расширение парамет…
09 дек '15 в 20:16