Puncte:1

rularea serii de comenzi dă alt rezultat decât rularea lor pe script

drapel fr

acesta este scenariul:

#!/bin/sh
rm -rf git/
mkdir -p git/{c,ds/{include,test},proiecte,quiz,programare_sistem}
găsiți git/ -type d -exec touch {}/dummy.md \;

Acesta este rezultatul dorit:

git/
âââ c
â  âââ dummy.md
âââ ds
â  âââ dummy.md
â  âââ includ
â  â  âââ dummy.md
â  âââ test
â  âââ dummy.md
âââ manechin.md
âââ proiecte
â  âââ dummy.md
âââ chestionare
â  âââ dummy.md
âââ programare_sistem
    âââ dummy.md

7 directoare, 8 fișiere

Asta se întâmplă când rulez fiecare dintre comenzi separat, una câte una.

Când rulez scriptul, schimbându-i permisiunile: chmod +x nume_script.sh

Eu iau:

git/
âââ {c,ds
â  âââ dummy.md
â  âââ {include,test},proiecte,questionare,programare_sistem}
â  âââ dummy.md
âââ dummy.md

2 directoare, 3 fișiere

Văd că problema este în mkdir comandă prin crearea unei ierarhii greșite a directoarelor.

Deci, am verificat chmod comanda,
alerg chmod +x+w nume_script.sh dar obtin acelasi rezultat.

De ce este asta?
Mulțumiri.

drapel cn
Problema ta este cu she-bang, „sh”. bash este ceea ce extinde { și }. Probabil că utilizați bash pe linia de comandă și /bin/sh este indicat probabil către liniuță. Folosiți `#!/bin/bash`,
drapel fr
Multumesc, asta a rezolvat problema. Deci, dacă vreau să folosesc o comandă care are `{ }` în script, deci trebuie să folosesc `#!/bin/bash` în loc de `#!/bin/sh`?
drapel fr
@muru Mulțumesc, asta clarifică.

Postează un răspuns

Majoritatea oamenilor nu înțeleg că a pune multe întrebări deblochează învățarea și îmbunătățește legătura interpersonală. În studiile lui Alison, de exemplu, deși oamenii își puteau aminti cu exactitate câte întrebări au fost puse în conversațiile lor, ei nu au intuit legătura dintre întrebări și apreciere. În patru studii, în care participanții au fost implicați în conversații ei înșiși sau au citit transcrieri ale conversațiilor altora, oamenii au avut tendința să nu realizeze că întrebarea ar influența – sau ar fi influențat – nivelul de prietenie dintre conversatori.