Articles of shell script

Créer des directorys à partir des lignes d'un file

Je cite un file, et la sortie est quelque chose comme ceci: Help me my friend Temptation Sorrow True Love Vanilla Sky I was here SOS … J'essaye de créer le directory de toutes ces lignes. Ce que j'ai essayé est: mkdir `cat x.txt` Mais le résultat est un désordre! Par exemple, I was here […]

Synchronisez deux dossiers et, en cas de succès, copyz un file d'un location à l'autre

J'utilise la command rsync pour synchroniser deux dossiers et en cas de succès de rysnc je veux copyr un succès de file et pendant la copy append le nom du dossier source comme Success_FolderName.J'utilise $ (basename!: 3) pour get le troisième paramètre à savoir Folder Name . bash /Sync.sh 10_03_2016 #! /bin/bash set -o history […]

Comment puis-je exécuter deux commands en parallèle et les terminer si l'une d'entre elles se termine par le code de sortie 0?

J'ai 2 commands qui doivent être exécutées simultanément. Et je veux que le script se termine si l'un d'entre eux se termine avec le code 0 ou 1. Comment puis-je le faire sous Linux (Ubuntu) cmd1 & cmd2 & wait

Arguments conditionnels

Comment passer des arguments lors du lancement du script bash afin que des lignes spécifiques soient exécutées dans le script Par exemple ( createfile.sh ): #!/bin/bash export CLIENT1_DIR="<path1>" export CLIENT2_DIR="<path2>" chef-solo -c solo.rb -j client1.json chef-solo -c solo.rb -j client2.json alors $ ./createfile.sh client1 ne devrait exécuter client1 des lignes spécifiques à client1 , et […]

Variable de la concaténation des variables

Je pense que c'est une question plutôt simple mais, je ne peux pas faire ce travail: j'ai une list complète de variables, par exemple: SP60=OLA SP61=BYE SP62=TRT Je veux créer une boucle pour les appeler dans le numéro spécifique de la variable donc j'ai pensé qu'une solution courte pourrait être: for i in {60..62}; do […]

Trouver et replace le nom d'hôte à l'adresse IP dans un file

J'ai un énorme file avec environ 12300 lignes qui ressemblent à quelque chose de similaire. 001.domain.com=001.somedomain.com:10001 002.domain.com=002.somedomain.com:10002 003.domain.com=003.somedomain.com:10003 Je veux que le file ressemble à ceci quand c'est fait 001.domain.com=IP_Address_of_001.somedomain.com:10001 002.domain.com=IP_Address_of_002.somedomain.com:10002 003.domain.com=IP_Address_of_003.somedomain.com:10003 Donc, fondamentalement, j'ai besoin de find et de replace le nom d'hôte après les signes = avec l'adresse IP. Si quelqu'un peut me […]

Quel est le but de tester $ DISPLAY avec ?

Au tout début d'un script se trouve: if [ -z $DISPLAY ] then DIALOG=dialog else DIALOG=Xdialog fi Je comprends que $DISPLAY contient la valeur de quel pseudo-terminal est attaché à [ -z $DISPLAY ] vérifie si $ DISPLAY a une valeur ou est une string vide Quel est le but de $DISPLAY gardant une valeur, […]

Comment find et supprimer les files en double dans le même directory?

Je veux find des files en double, dans un directory, puis supprimer tous sauf un, pour récupérer l'espace. Comment y parvenir en utilisant un script shell? Par exemple: pwd folder Les files en sont: log.bkp log extract.bkp extract J'ai besoin de comparer log.bkp avec tous les autres files et si un file en double est […]

Comment passer une string qui spécifie les colonnes à imprimer à awk?

J'ai un file avec un grand nombre de colonnes séparées par des espaces. Je veux imprimer des colonnes spécifiques en fonction de certains critères numériques d'une manière dynamic. Par exemple: ]$ cols=$(for i in `seq 1 3`; do echo -n "\$$[$[i-1]*6+1],\$$[$[i-1]*6+2],\$$[$[i-1]*6+3],\$$[$[i-1]*6+4+66],\$$[$[i-1]*6+5+66],\$$[$[i-1]*6+6+66],"; done) qui me donne les colonnes que je veux imprimer: ]$ echo ${cols%?} $1,$2,$3,$70,$71,$72,$7,$8,$9,$76,$77,$78,$13,$14,$15,$82,$83,$84 […]

Comment gzip seulement si mysqldump n'a pas d'erreur?

Je veux zip le vidage sql si et seulement si mysqldump ne produit aucune erreur. J'essaye de mettre le mauvais mot de passe, mais il exécute toujours le gzip. mysqldump -u username -ppassword dbname |& if [ $? == 0 ]; then gzip > test.gz; else echo "error"; fi Quel est le problème avec ma […]