J'ai toujours pensé que le seul avantage de l'utilisation de dash au lieu de bash était que dash était plus petit et que, par conséquent, de nombreuses instances de dash commenceraient plus rapidement au démarrage. Cependant, j'ai effectué des recherches et découvert que certaines personnes effectuaient la migration de tous …
J'ai remarqué qu'aucun système avec lequel j'ai travaillé n'avait /bin/shun véritable exécutable. C'est toujours un lien symbolique vers dash, bashen mode POSIX, ou quelque chose de similaire. Pourquoi? Quels sont les inconvénients de l'utilisation du vrai original /bin/sh? (Vitesse? Licence?)
Dans bash, je peux utiliser la substitution de processus et traiter la sortie d'un processus comme s'il s'agissait d'un fichier enregistré sur le disque: $ echo <(ls) /dev/fd/63 $ ls -lAhF <(ls) lr-x------ 1 root root 64 Sep 17 12:55 /dev/fd/63 -> pipe:[1652825] malheureusement, la substitution de processus n'est pas …
Lors de la pré / post incrémentation d'une variable, dans POSIX Shell, quelle est la différence entre ces deux exemples. Ils semblent avoir les mêmes conséquences, mais seraient-ils utilisés différemment? Quand préférez-vous l'un plutôt que l'autre? X=$((X+1)) : $((X=X+1))
Mon $ PATH ressemble à ceci: /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 En bash, je peux sans problème invoquer la baguette située dans /home/torbjorr/deployed/x86_64-GNU%2fLinux/wand comme $ 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 Cependant, en mode de compatibilité shell …
Je voulais savoir si les scripts écrits pour dash, ash et sh sont 100% compatibles? Y a-t-il des fonctionnalités ajoutées à dash ou ash, ou un changement de syntaxe? D'après ce que j'ai entendu, le frêne est un descendant direct de sh.
Dans bash: $ type : : is a shell builtin $ type true true is a shell builtin On dirait qu'ils sont identiques, mais ils ne donnent pas la même trace système: $ strace : strace: :: command not found $ strace true execve("/bin/true", ["true"], [/* 82 vars */]) = …
Dans le tiret, les fonctions et les variables semblent vivre dans des espaces de noms distincts: 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 …
Quelle serait la meilleure façon de vérifier si $ 1 est un entier dans / bin / dash? En bash, je pourrais faire: [[ $1 =~ ^([0-9]+)$ ]] Mais cela ne semble pas être conforme à POSIX et le tableau de bord ne prend pas en charge cela
Mon dashscript prend un paramètre sous la forme de hostname:port: myhost:1234 Alors que le port est facultatif, c'est-à-dire: myhost J'ai besoin de lire l'hôte et le port dans des variables distinctes. Dans le premier cas, je peux faire: HOST=${1%%:*} PORT=${1##*:} Mais cela ne fonctionne pas dans le deuxième cas, lorsque …
J'ai écrit un script qui passe des utilisateurs lors de l' exécution, et exécuté à l'aide de la redirection de fichier dans la norme. Donc , user-switch.shest ... #!/bin/bash whoami sudo su -l root whoami Et l'exécuter avec bashme donne le comportement que j'attends $ bash < user-switch.sh vagrant root …
Dans Bash, vous pouvez rediriger toutes les futures sorties stdout du script en cours d'exécution . Par exemple, avec ce script, exec > >(logger -t my-awesome-script) echo 1 echo 2 echo 3 Cela se terminera dans syslog: Oct 26 01:03:16 mybox my-awesome-script[72754]: 1 Oct 26 01:03:16 mybox my-awesome-script[72754]: 2 Oct …
J'ai posté une réponse à une question sur AU, et j'ai trouvé que l'expansion des paramètres sur $@ne fonctionne pas avec le shshell: <infile xargs -d'\n' sh -c 'echo "${@%%/*}"' _ mais ça marche bien bash. Est-ce le comportement attendu du shshell, et comment puis-je y effectuer une expansion? De …
Je sais que certains obus acceptent ce genre de test: t() { [[ $var == *$'\n'* ]] && res=yes || res=no printf '%s ' "$res"; } var='ab cd' t var='abcd' t echo à l'exécution: $ bash ./script yes no Quel est l'équivalent de travail POSIX (tiret) Est-ce que ce qui …
Fonctionnement bash -c 'bash -c "echo test1; exit 1;" &> /tmp/x; buildresult=$?; tail -n 100 /tmp/x; exit $buildresult;' entraîne l' test1impression sur la console et l' echo $?impression, 1ce qui, à mon sens, est correct, car la commande doit retourner avec ce que l'intérieur a [b/d]ash -crenvoyé alors que dash …
We use cookies and other tracking technologies to improve your browsing experience on our website,
to show you personalized content and targeted ads, to analyze our website traffic,
and to understand where our visitors are coming from.
By continuing, you consent to our use of cookies and other tracking technologies and
affirm you're at least 16 years old or have consent from a parent or guardian.