Cum scriem in Terminal un path sau o expresie care contine spatii – Unexpected argument

Photo of author
stealth
Update:

In aplicatia Terminal, fiecare caracter inseamna ceva. Poate fi o mica parte dintr-un cod, un argument in linia de comanda sau parte a unui script. Nici “spatiul” nu este scutit de aceasta caracteristica a Terminal. Un “spatiu” tastat in Terminal in argumentul unei linii de comanda, acesta nu va fi recunoscut ca fiind spatiu. De aici si eroare: Unexpected argument.

Cel mai simplu exemplu este sa ne folosim de tutorialul in care invatam despre cum sa schimbam locatia default (Desktop) in care sa se salveze automat screen shot-urile pe macOS.

Daca dorim ca folderul in care sa se faca salvarea screen shot-urilor va fi “Screen Shots”, atunci in linia de comanda din Terminal va trebui sa definim corect argumentul pentru “spatiu”. In caz contrar, dupa executarea liniei de comanda o sa intalnim o eroare.

Linie de coamnda gresita:

defaults write com.apple.screencapture location ~/Desktop/Screen Shots 


Ca sa definim un spatiu aflat intre doua cuvinte din argumentul liniei de comanda, vom folosi carcaterul “\” imediat dupa primul cuvant.

Linie de comanda corecta:

defaults write com.apple.screencapture location ~/Desktop/Screen\ Shots


Atentie, linia de comanda contine spatii. Acest tutorial este valabil numai pentru argumentele din linia de comanda, care contin spatii. In cazul nostru, un folder al carui nume este compus din doua cuvinte scrise dezlegat.

Sunt bucuros sa impart experientele din domeniul calculatoarelor, telefoniei mobile si ale sistemelor de operare, sa dezvolt proiecte web si sa aduc cele mai utile tutoriale si sfaturi. Imi place sa ma "joc" pe iPhone, MacBook Pro, iPad, AirPort Extreme si pe sistemele de operare macOS, iOS, Android si Windows.

Leave a Comment