macOS:n komentotulkkikomento uuden Terminal-ikkunan luomiseen

Voit tietysti helposti luoda uuden Terminal-ikkunan ’Shell’-valikosta tai käyttämällä pikanäppäintä ⌘N (tai ⌘T). Joissakin tapauksissa voi kuitenkin olla hyödyllisempää käyttää komentotulkin komentoa.

Uudet ikkunat, jotka on luotu pikanäppäimellä tai valikosta, saavat aina nykyisen työhakemiston kotihakemistoksi ~. Mitä haluan, on uusi ikkuna, joka oletusarvoisesti käyttää nykyistä työhakemistoa tai mukautettua hakemistoa, jonka voin antaa argumenttina:

> new # opens a new terminal window at the current working directory> new ~/Desktop # opens a new terminal window at ~/Desktop

Ei onnistu AppleScriptin kanssa

Viimeisimmän onnistumiseni AppleScriptin käyttämisen jälkeen ajattelin, että tämä olisi taas paras ratkaisu. Valitettavasti juuri tämä AppleScript-sanakirjan osa on rikki. Komennot make new window tai make new tab epäonnistuvat virheellisesti, ja olen kokeillut useita yhdistelmiä.

Jonkin verkonhaun jälkeen näyttää siltä, että tämä on ollut rikki jo pitkään. Jätin asiasta ongelman Feedback Assistantiin.

Voit luoda uuden Terminal-ikkunan AppleScriptillä käyttämällä Terminal-sanakirjan do script-komentoa. (Ei pidä sekoittaa komentoon do shell script.) Tämä AppleScript tekee siis tavallaan sen, mitä haluan, mutta vaikuttaa hankalalta.

tell application "Terminal" do script "cd ~/Desktop"end tell

Jos tiedät paremman tavan luoda uusi Terminal-ikkuna tai, vielä parempi, Terminal-välilehti AppleScriptillä, niin kerro minulle. (Ei UI Scripting -ratkaisuja – niissä on omat ongelmansa.) Minulla on muutama muukin idea, joissa tästä voisi olla hyötyä.

Syötä open-komento

Näiden nettihakujen aikana löysin myös ehdotuksia käyttää sen sijaan komentoa open:

> open -a Terminal ~/Documents

Avaa uuden Terminal-ikkunan, jossa on työhakemistona ~/Documents. Tämä on jo todella lähellä sitä, mitä halusin.

Loin tämän toiminnon komentotulkkini konfigurointitiedostoon (bash, zsh):

# creates a new terminal windowfunction new() { if ]; then open -a "Terminal" "$PWD" else open -a "Terminal" "$@" fi}

Tämän avulla voin nyt kirjoittaa

> new Projects/desktoppr

ja saada sinne uuden Terminal-ikkunan. Tämä on erittäin hyödyllistä, kun se yhdistetään historiaa korvaavaan muuttujaan !$ (edellisen komennon viimeinen argumentti):

> mkdir Projects/great_new_tool> new !$

Ja odottamaton, mutta hyödyllinen sivuvaikutus on se, että new-funktio voi myös avata ssh-istunnon uuteen ikkunaan:

> new ssh://[email protected]

Toivottavasti sinustakin tästä on hyötyä!

Vastaa

Sähköpostiosoitettasi ei julkaista.