Articles of bash

Exécuter la commande vim à partir de la ligne de commande

Il y a beaucoup de questions SO sur l’exécution de programmes shell à partir de vim. Ce que je me demande, c’est s’il est possible de faire l’inverse – c.-à-d. $ vim :BundleInstall Par exemple, pour me permettre d’exécuter BundleInstall dans le cadre d’un script, plutôt que d’ouvrir Vim et de l’exécuter manuellement lors de […]

Comment obtenir le nombre de lignes affectées lors de l’exécution de la requête MySQL depuis bash?

Je sais comment on peut exécuter des requêtes / commandes MySQL depuis bash: mysql -u[user] -p[pass] -e “[mysql commands]” ou mysql -u[user] -p[pass] `<<`QUERY_INPUT [mysql commands] QUERY_INPUT Comment puis-je capturer le nombre de lignes affectées par la requête? J’ai essayé de faire: variable=’`mysql -u[user] -p[pass] -e “[mysql commands]”`’ Il exécute la commande mais ne renvoie […]

Exécution de programmes en parallèle à l’aide de xargs

J’ai actuellement le script actuel. #!/bin/bash # script.sh for i in {0..99}; do script-to-run.sh input/ output/ $i done Je souhaite l’exécuter en parallèle en utilisant xargs. j’ai essayé script.sh | xargs -P8 Mais faire ce qui précède ne s’exécute qu’une fois à la fois. Pas de chance avec -n8 aussi. Ajouter et à la fin […]

Utilisation d’une apostrophe (guillemet simple) dans un message de validation git via la ligne de commande?

En essayant d’aller plus loin, comment cela pourrait-il fonctionner dans un shell bash standard: git commit -m ‘cracked enigma’s code’ Est-ce que cela pourrait être fait simplement avec une barre oblique inverse comme ceci: git commit -m ‘cracked enigma\’s code’ De plus, comment utiliser les guillemets doubles? Aussi par backslash-échapper? Est-ce que ce serait la […]

Liste du contenu d’un fichier tar ou d’un répertoire uniquement jusqu’à un certain niveau

Je me demande comment lister le contenu d’un fichier tar uniquement à un certain niveau? Je comprends que tar tvf mytar.tar va lister tous les fichiers, mais parfois je voudrais seulement voir les répertoires à un certain niveau. De même, pour la commande ls , comment contrôler le niveau des sous-répertoires qui seront affichés? Par […]

Pourquoi bash “echo ” entraîne-t-il “t” pas “”

Cela se produit pour le caractère t et la racine de valeur. Assez perplexe $ echo [s] [s] $ echo [t] t $ echo [ t ] [ t ] $ echo [root] t

Obtenir une variable d’environnement à partir du conteneur Docker

Quel est le moyen le plus simple d’obtenir une variable d’environnement à partir d’un conteneur de station d’accueil qui n’a pas été déclaré dans le fichier Docker ? Par exemple, une variable d’environnement qui a été définie par le biais d’une session docker exec container /bin/bash ? Je peux faire docker exec container env | […]

Processus de fourrage / multi-fileté | Frapper

Je voudrais rendre une section de mon code plus efficace. Je pense à le transformer en plusieurs processus et à les exécuter 50/100 fois, au lieu d’une seule fois. Par exemple (pseudo): for line in file; do foo; foo2; foo3; done Je voudrais que cette boucle fonctionne plusieurs fois. Je sais que cela peut se […]

tuer un processus en bash

Comment puis-je tuer un processus qui s’exécute dans bash – par exemple, supposons que j’ouvre un fichier: $ gedit fichier.txt y a-t-il un moyen dans l’invite de commande de le fermer? Cet exemple est assez sortingvial, car je pouvais simplement fermer la fenêtre, mais cela semble arriver un peu, particulièrement quand je tape des commandes. […]

Bash: en boucle à travers les dates

J’ai un tel script bash: array=( ‘2015-01-01’, ‘2015-01-02′ ) for i in “${array[@]}” do python /home/user/executeJobs.py {i} &> /home/user/${i}.log done Maintenant, je veux parcourir une série de dates, par exemple 2015-01-01 jusqu’au 31/01/2015. Comment réussir dans Bash? Mise à jour : Nice-to-have: Aucun travail ne doit être lancé avant la fin de l’exécution précédente. Dans […]