Articles of sh

Je viens d’atsortingbuer une variable, mais echo $ variable montre autre chose

Voici une série de cas où echo $var peut afficher une valeur différente de celle qui vient d’être assignée. Cela se produit indépendamment du fait que la valeur assignée soit “guillemet double”, “citée seule” ou non cotée. Comment puis-je obtenir le shell pour définir ma variable correctement? Astérisques La sortie attendue est /* Foobar is […]

Comment Ctrl-C termine-t-il un processus enfant?

J’essaie de comprendre comment CTRL + C met fin à un enfant, mais pas à un processus parent. Je vois ce comportement dans certains shells de script comme bash où vous pouvez lancer un processus de longue durée, puis le terminer en entrant CTRL – C et le contrôle retourne au shell. Pourriez-vous expliquer comment […]

Comment fusionner un répertoire dans un autre en utilisant Bash?

Je recherche un script shell qui fusionne des fichiers d’un répertoire à un autre. Échantillon: html/ a/ b.html index.html html_new/ a/ b2.html b.html Usage: ./mergedirs.sh html html_new Résultat: html/ a/ b.html b2.html index.html html/a/b.html été remplacé par html_new/a/b.html html/a/b2.html été copié depuis html_new/a/b2.html html/index.html n’a pas été modifié

Travaux Cron et temps aléatoires, dans des heures données

J’ai besoin de pouvoir exécuter un script PHP 20 fois par jour à des moments complètement aléatoires. Je veux aussi qu’il ne fonctionne que de 9h à 23h. Je suis familier avec la création de travaux cron sous Linux.

Qu’est-ce que cela signifie en shell quand on place une commande à l’intérieur du signe dollar et des parenthèses: $ (commande)

Je veux juste comprendre la ligne de code suivante en shell. Il est utilisé pour obtenir le répertoire de travail en cours. Je suis conscient que $(variable) name renvoie la valeur dans le nom de la variable, mais qu’est-ce que $(command) censé renvoyer? Renvoie-t-il la valeur après avoir exécuté la commande? Dans ce cas, nous […]

Compter les occurrences d’un caractère dans une chaîne à l’aide de Bash

Je dois compter le nombre d’occurrences d’un caractère dans une chaîne en utilisant Bash. Dans l’exemple suivant, lorsque le caractère est (par exemple) t , il fait echo au nombre correct d’occurrences de t dans var , mais lorsque le caractère est une virgule ou un point-virgule, il affiche zéro: var = “text,text,text,text” num = […]

Déclarations de fonctions dans un script Bash ou Shell?

Y a-t-il une telle chose dans bash ou au moins quelque chose de similaire (contournement) comme les déclarations avancées, bien connues en C / C ++, par exemple? Ou alors il y a une telle chose parce que, par exemple, elle est toujours exécutée en une seule passe (ligne après ligne)? S’il n’y a pas […]

Comment extraire les deux premiers caractères d’une chaîne dans le script shell?

Par exemple, donné: USCAGoleta9311734.5021-120.1287855805 Je veux juste extraire: US

Comment puis-je supprimer l’extension d’un nom de fichier dans un script shell?

Quel est le problème avec le code suivant? name=’$filename | cut -f1 -d’.” En l’état, j’obtiens la chaîne littérale $filename | cut -f1 -d’.’ $filename | cut -f1 -d’.’ , mais si je supprime les citations, je ne reçois rien. En attendant dactylographier “test.exe” | cut -f1 -d’.’ dans un shell me donne la sortie […]

Syntaxe multiligne pour lier un heredoc; est ce portable?

Je connais bien cette syntaxe: cmd1 << EOF | cmd2 text EOF mais vient de découvrir que bash me permet d’écrire: cmd1 << EOF | text EOF cmd2 (le heredoc est utilisé comme entrée de cmd1 et la sortie de cmd1 est dirigée vers cmd2). Cela semble être une syntaxe très étrange. Est-ce portable?