Articles of bash

Bash CTRL pour déplacer le curseur entre les mots / les chaînes

Je suis habitué à utiliser la touche CTRL pour avancer plus rapidement lorsque vous utilisez les touches fléchées gauche et droite (va à la fin d’un mot, au lieu d’un caractère à la fois). Puis-je le faire en bash d’une manière ou d’une autre? Je pourrais probablement le coder, mais je me demandais s’il y […]

Comment utiliser les commandes shell dans Makefile

J’essaie d’utiliser le résultat de ls dans d’autres commandes (par exemple, echo, rsync): all: FILES = $(shell ls) echo $(FILES) Mais j’ai: make FILES = Makefile file1.tgz file2.tgz file3.tgz make: FILES: No such file or directory make: *** [all] Error 1 J’ai essayé d’utiliser echo $$FILES , echo ${FILES} et echo $(FILES) , sans succès.

Vérifiez si la chaîne n’est ni vide ni espace dans le script shell

J’essaie d’exécuter le script shell suivant qui est censé vérifier si une chaîne n’est ni espace ni vide. Cependant, je reçois le même résultat pour les 3 chaînes mentionnées. J’ai également essayé d’utiliser la syntaxe “[[“] mais sans succès. Voici mon code: str=”Hello World” str2=” ” str3=”” if [ ! -z “$str” -a “$str”!=” ” […]

Utilisation de sed pour renommer en masse des fichiers

Objectif Changez ces noms de fichiers: F00001-0708-RG-polarliuyda F00001-0708-CS-akgdlaul F00001-0708-VF-hioulgigl à ces noms de fichiers: F0001-0708-RG-polarliuyda F0001-0708-CS-akgdlaul F0001-0708-VF-hioulgigl Code Shell Tester: ls F00001-0708-*|sed ‘s/\(.\).\(.*\)/mv & \1\2/’ Pour effectuer: ls F00001-0708-*|sed ‘s/\(.\).\(.*\)/mv & \1\2/’ | sh Ma question Je ne comprends pas le code sed. Je comprends ce que la commande de substitution $ sed ‘s/something/mv’ veux […]

Est-ce que les scripts Bash sont plus utilisés?

Je viens juste de terminer ma deuxième année en tant qu’étudiant universitaire à l’université, donc mes connaissances “réelles” font défaut. J’ai appris Java lors de ma première année, j’ai continué avec Java et j’ai choisi le script C et le simple script Bash. Cet été j’essaie d’apprendre Perl (que Dieu m’aide). Je me suis un […]

Script de shell alors que la boucle de ligne de lecture s’arrête après la première ligne

J’ai le script shell suivant. Le but est de parcourir chaque ligne du fichier cible (dont le chemin est le paramètre d’entrée du script) et de travailler sur chaque ligne. Maintenant, il semble seulement fonctionner avec la toute première ligne dans le fichier cible et s’arrête une fois que cette ligne a été traitée. Y […]

Exécuter une commande après l’autre, même si je suspends le premier (Ctrl-z)

Je sais en bash je peux exécuter une commande après l’autre en les séparant par des points-virgules, comme $ command1; command2 Ou si je veux que la command2 ne soit exécutée que si command1 réussit, en utilisant && : $ command1 && command2 Cela fonctionne, mais si je suspends la command1 utilisant Ctrl-z , dans […]

Passer des arguments avec des espaces entre les scripts (bash)

J’ai les deux scripts bash suivants cendre: #!/bin/bash ./b.sh ‘My Argument’ b.sh: #!/bin/bash someApp $* Le binary someApp reçoit $* comme 2 arguments (‘My’ et ‘Argument’) au lieu de 1. J’ai testé plusieurs choses: Exécuter someApp uniquement via b.sh fonctionne comme prévu Iterate + echo les arguments dans b.sh fonctionne comme prévu Utiliser $@ au […]

Erreur de syntaxe Bash: fin inattendue du fichier

Pardonnez-moi car c’est un script très simple dans Bash. Voici le code: #!/bin/bash # june 2011 if [ $# -lt 3 -o $# -gt 3 ]; then echo “Error… Usage: $0 host database username” exit 0 fi après avoir exécuté sh file.sh: erreur de syntaxe: fin de fichier inattendue

trouver la différence entre deux fichiers texte avec un élément par ligne

J’ai deux fichiers: fichier 1 dsf sdfsd dsfsdf fichier 2 ljljlj lkklk dsf sdfsd dsfsdf Je veux afficher ce qui est dans le fichier 2 mais pas dans le fichier 1, donc le fichier 3 devrait ressembler à ljljlj lkklk