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.
En bash, un lien de commande echo test > actual.txt remplacera le contenu du fichier appelé actual.txtpar "test" et créera le fichier s'il n'existe pas. Cependant, si le fichier existe, bash l'ouvrira, le tronquera et écrira le nouveau contenu dans le fichier. Plus précisément, la commande de redirection échoue dans …
nous voulons construire 6 dossiers de points de montage comme exemple /data/sdb /data/sdc /data/sdd /data/sde /data/sdf /data/sdg nous avons donc écrit ce simple script bash en utilisant un tableau folder_mount_point_list="sdb sdc sdd sde sdf sdg" folderArray=( $folder_mount_point_list ) counter=0 for i in disk1 disk2 disk3 disk4 disk4 disk5 disk6 do …
Je voudrais lister tous les fichiers dans un dossier appelé foldernamequi ont l'extension test, atestou btest. Ma pensée immédiate était de courir ls ./foldername/*.{a,b,}test Cela fonctionne bien à moins qu'il n'y ait rien avec l'extension atest, auquel cas j'obtiens l'erreur zsh: no matches found: ./foldername/*.atest. Existe-t-il un moyen de simplement …
Fonctionnement bash -c 'bash -c "echo test1; exit 1;" &> /tmp/x; buildresult=$?; tail -n 100 /tmp/x; exit $buildresult;' entraîne l' test1impression sur la console et l' echo $?impression, 1ce qui, à mon sens, est correct, car la commande doit retourner avec ce que l'intérieur a [b/d]ash -crenvoyé alors que dash …
J'utilise $((1 + RANDOM % 1000))pour générer un nombre aléatoire. Est-il possible de faire quelque chose de similaire mais de fournir une graine? Donc, étant donné la même graine, le même nombre aléatoire sera toujours affiché?
J'ai écrit un exemple de script pour diviser la chaîne, mais cela ne fonctionne pas comme prévu #!/bin/bash IN="One-XX-X-17.0.0" IFS='-' read -r -a ADDR <<< "$IN" for i in "${ADDR[@]}"; do echo "Element:$i" done #split 17.0.0 into NUM IFS='.' read -a array <<<${ADDR[3]}; for element in "${array[@]}" do echo "Num:$element" …
Supposons que j'ai la liste des chemins d'accès des fichiers stockés dans un tableau filearray=("dir1/0010.pdf" "dir2/0003.pdf" "dir3/0040.pdf" ) Je veux trier les éléments du tableau en fonction des noms de base des noms de fichiers, dans l'ordre numérique sortedfilearray=("dir2/0003.pdf" "dir1/0010.pdf" "dir3/0040.pdf") Comment puis je faire ça? Je peux seulement trier …
Je veux écrire un script pour référencer plusieurs tableaux d'un autre tableau qui contient les noms de variables de ces tableaux. Voici mon code jusqu'à présent: #!/bin/bash array1=('array1string1' 'array1string2') array2=('array2string1' 'array2string2') array_names=('array1' 'array2') for a in ${array_names[@]} do for b in ${a[@]} do echo $b done done J'aimerais que la …
Lors de la lecture de didacticiels sur les fichiers renommés par lots dans bash et en utilisant la sortcommande pour trier le contenu des fichiers, je n'ai pas été en mesure de comprendre comment combiner les deux. J'ai un répertoire dont le contenu est trié à l'aide de balises dans …
Pour une mission, on me demande d'écrire intelligemment une fonction bash qui a la même fonctionnalité de base que la fonction cp(copie). Il n'a qu'à copier un fichier dans un autre, donc pas de fichiers multiples copiés dans un nouveau répertoire. Comme je suis nouveau dans la langue bash, je …
En utilisant bash, j'essaie d'interroger /etc/passwdtous les utilisateurs ayant un identifiant supérieur à 1000. S'ils existent, faites autre chose. Je suis perplexe. Toute aide est appréciée. if [ "$(id -u)" -gt "1000" </etc/passwd]; then do something else do something else fi
Supposons que deux nombres soient stockés dans deux fichiers différents, a.txtet b.txt. Chaque numéro est suffisamment grand (plus de 30 chiffres) pour ne pas être pris en charge par le type de données numérique utilisé par bash. Comment puis-je les ajouter dans le shell?
Ceci est une question de devoirs: Faites correspondre tous les noms de fichiers avec 2 caractères ou plus qui commencent par une lettre minuscule, mais ne se terminent pas par une lettre majuscule. Je ne comprends pas pourquoi ma solution ne fonctionne pas. J'ai donc exécuté ce qui suit: touch …
Pour certaines machines cloud que je lance, j'essaie de me connecter à un fichier spécifique, syslog et le terminal / console. En haut de mes scripts de configuration de machine / cloud-init, j'ai les éléments suivants: #!/bin/bash exec &> >(tee "/tmp/box-setup.log" | logger -t box-setup) apt-get install -y some-package Cela …
J'ai obtenu un script bash exécutant essentiellement ceci: #!/bin/bash [...] while true; do str="broadcast "`randArrayElement "messages[@]"` server_send_message $str sleep $interval done Maintenant, je veux l'exécuter en tant que service systemd, mon script de service ressemble à ceci: [Unit] Description=Announcer After=network.target [Service] ExecStart=/usr/local/bin/somescript &; disown ExecStop=/usr/bin/kill -9 `cat /tmp/somescript.pid` Type=forking PIDFile=/tmp/somescript.pid …
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.