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

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

4
Dash или какая-то другая оболочка «быстрее» bash?
Я всегда думал, что единственным преимуществом использования тире вместо bash является то, что тире меньше, и поэтому во многих случаях тире запускается быстрее во время загрузки. Но я провел некоторое исследование и обнаружил, что некоторые люди переносят все свои сценарии в надежде, что они будут работать быстрее, и я также …
57 bash  performance  dash 

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

4
Как эмулировать процесс подстановки в 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. Какой …

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

1
Процент в переменной окружения $ PATH
Мой $ PATH выглядит так: /home/torbjorr/deployed/vector/x86_64-GNU%2fLinux:/home/torbjorr/deployed/typewriter/x86_64-GNU%2fLinux:/home/torbjorr/deployed/mustudio/x86_64-GNU%2fLinux:/home/torbjorr/deployed/mathext/x86_64-GNU%2fLinux:/home/torbjorr/deployed/doxymax/x86_64-GNU%2fLinux:/home/torbjorr/deployed/c2tex/x86_64-GNU%2fLinux:/home/torbjorr/deployed/x86_64-GNU%2fLinux/wand:/home/torbjorr/deployed/x86_64-GNU%2fLinux/spellesc:/home/torbjorr/deployed/x86_64-GNU%2fLinux/projinit:/home/torbjorr/deployed/x86_64-GNU%2fLinux/herbs:/home/torbjorr/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games В bash я могу без проблем вызвать палочку, расположенную в /home/torbjorr/deployed/x86_64-GNU%2fLinux/wand нравиться $ wand (i) Mål från "main.cpp" har registrerats (i) Skapar katalog "__wand_targets_dbg" (i) Kör g++ "main.cpp" -fpic -L"/home/torbjorr/deployed" -g -Wall -std=c++11 -I"/home/torbjorr/deployed" -o "__wand_targets_dbg/cb-template Однако в режиме совместимости с оболочкой Bourne палочка …
16 shell  path  dash  ash 

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

2
В чем разница между: и правда?
В 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) …
15 bash  dash 

2
Отдельные пространства имен для функций и переменных в оболочках 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 Это особенность …
13 shell  posix  dash 


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

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

3
Штриховой эквивалент самонаправления вывода скрипта
В 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 my-awesome-script[72754]: 2 Oct 26 01:03:16 mybox my-awesome-script[72754]: 3 …

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

2
Проверить, содержит ли переменная символ новой строки (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=' …

1
Почему выход с сохраненным кодом возврата вложенной команды приводит к различным кодам возврата в 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 -c 'dash -c "echo test1; exit …

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.