Fondamentalement, je veux "arracher" la première occurrence de -infla liste des paramètres. (Les paramètres restants seront transmis à une autre commande.) Le script que j'ai a la structure suivante: #!/bin/sh <CODE> for POSITIONAL_PARAM in "$@" do <CODE> if [ "$POSITIONAL_PARAM" = '-inf' ] then <PLUCK $POSITIONAL_PARAM FROM $@> break fi …
J'ai une application wrapper où je dois laisser l'utilisateur spécifier des options personnalisées à passer à un simulateur. Cependant, je veux m'assurer que l'utilisateur n'injecte pas d'autres commandes via les options utilisateur. Quelle est la meilleure façon d'y parvenir? Par exemple. L'utilisateur fournit: -a -b L'application s'exécute: mysim --preset_opt -a …
Je ne sais pas comment inclure des arguments / indicateurs facultatifs lors de l'écriture d'un script bash pour le programme suivant: Le programme nécessite deux arguments: run_program --flag1 <value> --flag2 <value> Cependant, il existe plusieurs indicateurs facultatifs: run_program --flag1 <value> --flag2 <value> --optflag1 <value> --optflag2 <value> --optflag3 <value> --optflag4 <value> …
Compte tenu de ce morceau de bash: PARMS='-rvu' PARMS+=" --delete --exclude='.git'" echo $PARMS rsync ${PARMS} . ${TARGET} L'écho montre la chaîne PARMS comme prévu, aucune erreur ne s'affiche, mais rsync agit silencieusement comme si les options ajoutées par le + = n'existaient pas. Cependant, cela fonctionne comme prévu: PARMS='-rvu' rsync …
Suite de: comportement inattendu dans la substitution de commandes shell J'ai une commande qui peut prendre une énorme liste d'arguments, dont certains peuvent légitimement contenir des espaces (et probablement d'autres choses) J'ai écrit un script qui peut générer ces arguments pour moi, avec des guillemets, mais je dois copier et …
Je suis sur Ubuntu. J'ai copié certains arguments (séparés par un retour à la ligne) et je peux utiliser xsel pour les imprimer comme ceci $ xsel arg1 arg2 arg3 arg4 ... Maintenant, je veux utiliser chacun de ces arguments pour une autre commande et exécuter cette commande autant de …
J'essaie de trouver comment enregistrer une instanciation spécifique de rrdtoolpour voir si le chemin d'accès qu'il reçoit est incorrect. Je sais que je pourrais envelopper l'exécutable dans un script shell qui enregistrerait les paramètres, mais je me demandais s'il y avait une façon plus spécifique au noyau de surveiller cela, …
J'ai un répertoire avec des fichiers de l'année 2010 .. Je veux supprimer tous les fichiers de plus de 500 jours et j'ai essayé ceci: find /var/log/arc/* -type f -mtime +500 -delete {}\; Mais je comprends ceci: -bash: /usr/bin/find: Argument list too long Comme je le sais, cela signifie qu'il …
J'ai la fonction suivante: bar() { echo $1:$2; } J'appelle cette fonction à partir d' une autre fonction foo,. foolui-même est appelé comme suit: foo "This is" a test Je veux obtenir la sortie suivante: This is:a Autrement dit, les arguments qui barreçoivent doivent être les mêmes jetons que je …
D'abord pour couper les réponses triviales mais inapplicables: je ne peux utiliser ni l' astuce find+ xargsni ses variantes (comme findavec -exec) car j'ai besoin d'utiliser peu de telles expressions par appel. J'y reviendrai à la fin. Maintenant, pour un meilleur exemple, considérons: $ find -L some/dir -name \*.abc | …
Dans un script shell, ma compréhension est que se "$@"développe aux arguments de script, en les citant au besoin. Par exemple, cela transmet les arguments de script à gcc: gcc -fPIC "$@" Cependant, lors de l'utilisation de la syntaxe bash pass-to-stdin <<<, "@$"ne fonctionne pas comme je m'y attendais. #!/bin/bash …
J'utilise findpour localiser et supprimer des fichiers de sauvegarde, mais je souhaite exclure certains répertoires de la recherche. Les noms de fichiers de sauvegarde pourrait se terminer dans .bck, bak, ~ou backup. Le code exemple de travail minimal (MWE) avec seulement trois répertoires à exclure est: #! /bin/bash find . …
Après ARG_MAX, la longueur maximale des arguments pour un nouveau processus semble être ARG_MAXincorrectement (ou du moins ambiguë) définie sur mon Mac Mini 3,1 exécutant Ubuntu 12.04: $ getconf ARG_MAX # arguments 2097152 $ locate limits.h | xargs grep -ho 'ARG_MAX[ \t]\+[0-9]\+' | uniq | cut -d ' ' -f …
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.