Questions spécifiques au Bourne Again SHell de GNU, par opposition aux autres shells Bourne / POSIX. Pour les questions sur les shells Unix en général, utilisez plutôt la balise / shell.
J'écris un script bash qui utilise largement wget. Pour définir tous les paramètres communs en un seul endroit, je les stocke sur des variables. Voici un morceau de code: useragent='--user-agent="Mozilla/5.0 (Windows NT 6.1; WOW64; rv:27.0) Gecko/20100101 Firefox/27.0"' cookies_file="/tmp/wget-cookies.txt" save_cookies_cmd="--save-cookies $cookies_file --keep-session-cookies" load_cookies_cmd="--load-cookies $cookies_file --keep-session-cookies" function mywget { log "#!!!!!!!!!# WGET …
Par exemple, j'ai obtenu de certaines commandes des lignes $ some-command John Bob Lucy J'aimerais maintenant ajouter une commande de chaînage, qui modifie la sortie. $ some-command | other-command Hi John Bye Hi Bob Bye Hi Lucy Bye Comment écrire other-command? (Je suis novice en bash)
Je voudrais sauvegarder certaines de mes données très importantes sur une machine distante. Actuellement, je l'enregistre simplement sur ma machine locale en utilisant cette commande:tar -cvjf ~/backups/Backup.tar.bz2 ~/importantfiles/* Je préférerais ne pas utiliser une autre commande pour la transférer vers la machine distante, ce qui signifie que je voudrais simplement …
J'utilise actuellement Debian 7 Wheezy, et j'ai remarqué que la palette de couleurs sur le terminal (qui pourrait être utile pour identifier un grand nombre de fichiers et de dossiers) n'est pas activée une fois que je me connecte en tant que root. De même, j'ai remarqué que la complétion …
Lorsque j'utilise la commande suivante setenv CLASSPATH /path/mysql-connector-java-ver-bin.jar:$CLASSPATH l'erreur est bash setenv command is not found Quand je trouve le chemin de setenv par quelle commande, alors j'ai trouvé le chemin suivant (/usr/kerberos/sbin:/usr/kerberos/bin:/home/ec2/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/home/ec2/bin:/root/bin)
Disons qu'il y a un répertoire auquel je n'ai pas les privilèges d'accès. Évidemment, sudo cd foocela ne fonctionnera pas, car cdun shell est intégré à chaque shell. Jusqu'à présent, je viens d'utiliser sudo bash(oui je sais qu'il existe de meilleures façons) pour obtenir une invite racine. Ensuite, je peux …
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 …
J'ai le script suivant. #!/bin/bash mount /dev/sda6 /mnt/gentoo set +e cd /mnt/gentoo && mount -t proc none /mnt/gentoo/proc \ && mount --rbind /dev /mnt/gentoo/dev \ && mount --rbind /sys /mnt/gentoo/sys \ && chroot /mnt/gentoo /bin/bash \ && source /etc/profile \ && export PS1="(chroot)$PS1" Ce que j'essaie d'accomplir ici, c'est de …
Pour une raison quelconque, je me suis connecté à mon serveur CentOS6 et au début de chaque ligne, il affiche normalement [root@hostname]# Maintenant ça montre -bash-4.1# Qu'est-ce que ça veut dire? Et comment le ramener à la normale?
J'ai un script pour compléter automatiquement mes hôtes ssh. ~/.ssh/configCependant, si je change mon auto-complétion n'est pas mise à jour automatiquement. Cela ne me surprend pas. Dans un nouveau shell, la nouvelle entrée est récupérée et utilisable, bien sûr. Comment déclencher manuellement une actualisation de l'achèvement dans bash?
J'ai un ifdans mon script bash qui doit vérifier si l'un des 2 fichiers existe, s'ils n'existent pas, il devrait correspondre à l'écho. Code que j'ai: if [[ ! -f /etc/benchmarking/code ]] && [[ ! -f /etc/benchmarking/code.class ]]; then echo "match" fi Mais cela ne semble pas fonctionner pour une …
J'écris donc un petit gestionnaire de paquets, et un problème que j'ai rencontré est de créer des liens symboliques vers des fichiers. Il installe le package dans /usr/pkg/name-version, puis lit un fichier pour déterminer les liens symboliques à créer. J'utilise lnpour créer les liens et j'ai rencontré un problème lors …
Dans le script suivant, comment exclure un répertoire dans la boucle? Je veux le faire parce que tous les fichiers sont des liens symboliques pointant vers ce répertoire qui existe au même niveau, donc je ne veux pas l'ajouter. cd /var/www for dir in */ do base=$(basename "$dir") tar -czfh …
Regardez ce bloc si: #!/bin/bash str="m.m" if [[ "${str}" =~ "m\.m" ]]; then echo "matched" else echo "not matched" exit 1 fi exit 0 Cela devrait imprimer "correspondant", mais ce n'est pas le cas. Où vais-je mal?
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.