Вопросы с тегом «dash»

Оболочка Dash, POSIX-совместимая производная оболочки Almquist, используемая как / bin / sh в Debian, Ubuntu и других дистрибутивах Linux.

57
Dash или какая-то другая оболочка «быстрее» bash?

Я всегда думал, что единственным преимуществом использования тире вместо bash является то, что тире меньше, и поэтому во многих случаях тире запускается быстрее во время загрузки. Но я провел некоторое исследование и обнаружил, что некоторые люди переносят все свои сценарии в надежде, что они будут...

55
Почему никто не использует настоящую оболочку Bourne как / bin / sh?

Я заметил, что практически ни одна из систем, с которыми я когда-либо работал, не имеет /bin/shнастоящего исполняемого файла. Это всегда символическая ссылка dash, bashв режиме POSIX или что-то подобное. Почему? Каковы недостатки использования истинного, оригинального /bin/sh? (Скорость?...

18
Как эмулировать процесс подстановки в Dash?

В bash, я могу использовать Process Замещение и лакомство выход процесса , как если бы это был файл , сохраненный на диске: $ echo <(ls) /dev/fd/63 $ ls -lAhF <(ls) lr-x------ 1 root root 64 Sep 17 12:55 /dev/fd/63 -> pipe:[1652825] к сожалению, замена процесса не поддерживается в dash....

17
Пара команд, связанных с арифметикой, Dash, POSIX shell, sh, Increment

При увеличении переменной до / после, в POSIX Shell, в чем разница между этими двумя примерами. Кажется, что они будут иметь те же последствия, но будут ли они использоваться по-другому? Когда бы вы предпочли одно другому? X=$((X+1)) :...

16
Являются ли сценарии dash, ash и sh совместимыми на 100%?

Я хотел знать, совместимы ли скрипты, написанные для dash, ash и sh, на 100%? Существуют ли какие-либо дополнительные функции для разбивки, изменения или синтаксиса? Из того, что я слышал, ясень является прямым потомком...

15
В чем разница между: и правда?

В bash: $ type : : is a shell builtin $ type true true is a shell builtin Похоже, они одинаковы, но они не дают ту же системную трассировку: $ strace : strace: :: command not found $ strace true execve("/bin/true", ["true"], [/* 82 vars */]) = 0 [snip] exit_group(0) = ? Я попытался различить strace...

13
Отдельные пространства имен для функций и переменных в оболочках POSIX

В dash функции и переменные, кажется, живут в отдельных пространствах имен: fn(){ fn="hello world" } fn; echo "The value is $fn!" #prints: The value is hello world! fn; echo "The value is $fn!" #prints: The value is hello world! #the fn variable doesn't conflict with the fn function Это особенность...

9
Штриховой эквивалент самонаправления вывода скрипта

В Bash вы можете перенаправить весь будущий вывод stdout текущего запущенного скрипта. Например, с этим сценарием, exec > >(logger -t my-awesome-script) echo 1 echo 2 echo 3 Это закончится в системном журнале: Oct 26 01:03:16 mybox my-awesome-script[72754]: 1 Oct 26 01:03:16 mybox...

9
Чем перенаправление файлов bash к стандартным отличается от оболочки (`sh`) в Linux?

Я написал сценарий, который переключает пользователей во время работы, и выполнил его, используя перенаправление файлов к стандартному в. Так user-switch.shчто ... #!/bin/bash whoami sudo su -l root whoami И запуск с этим bashдает мне поведение, которое я ожидаю $ bash < user-switch.sh vagrant...

9
Разделить строку на двоеточие в / bin / sh

Мой dashскрипт принимает параметр в виде hostname:port, то есть: myhost:1234 Принимая во внимание, что порт является необязательным, то есть: myhost Мне нужно прочитать хост и порт в отдельных переменных. В первом случае я могу сделать: HOST=${1%%:*} PORT=${1##*:} Но это не работает во втором...

8
Когда sh является символической ссылкой на bash или dash, bash ограничивается POSIX-совместимостью, поэтому он должен быть на 100% совместим с sh?

Из разницы между bash и sh : Возьмем вопрос: если у вас есть /bin/shссылка на bash, то bash не будет вести себя так же, когда /bin/shвызывается так же, как при вызове as /bin/bash. Когда он вызывается как sh, он ограничивается в основном POSIX-совместимостью и ограниченным набором расширений....

8
Почему выход с сохраненным кодом возврата вложенной команды приводит к различным кодам возврата в Dash и Bash?

Бег bash -c 'bash -c "echo test1; exit 1;" &> /tmp/x; buildresult=$?; tail -n 100 /tmp/x; exit $buildresult;' в результате test1выводится на консоль и echo $?печатается, 1что, на мой взгляд, правильно, потому что команда должна возвращать то, что [b/d]ash -cвернул внутренний, тогда как dash...

8
Проверить, содержит ли переменная символ новой строки (POSIX)

Я знаю, что некоторые оболочки выдерживают такой тест: t() { [[ $var == *$'\n'* ]] && res=yes || res=no printf '%s ' "$res"; } var='ab cd' t var='abcd' t echo на исполнение: $ bash ./script yes no Что такое рабочий эквивалент POSIX (тире) Является ли следующий надежный способ проверки? nl='...

8
Развертывание параметров в $ @ не поддерживается оболочкой sh?

Я опубликовал ответ на вопрос об AU и обнаружил, что расширение параметра on $@не работает с shоболочкой: <infile xargs -d'\n' sh -c 'echo "${@%%/*}"' _ но работает нормально bash. Это ожидаемое поведение shоболочки, и как я могу выполнить расширение там? Кроме того, я знаю, что с -n1опцией...