Bash'ın Powershell'deki `` source '' komutuna eşdeğer mi?


15

Bir bash betiğini satır satır çalıştırmak için (örneğin, ortam değişkenlerini korumak için) aşağıdakileri yapar:

$ . myscript.sh

Veya:

$ source myscript.sh

- Diğer şeylerin yanı sıra - çağrılan işlev aracılığıyla istemin değerini ayarlar bir PowerShell komut dosyası var prompt. Bu komut dosyasının (". \ Myscript.ps1") çalıştırılması istemi değiştirmez. Ancak, komut olarak satır satır çalışmayı yapar.

Yani etkili bir şekilde ihtiyacım olan şey sourcePowerShell komutu gibi bir şey . Mümkün mü?

EDIT : Bu yazı Stackoverflow taşınmalı mı?

Açıklama 1 : Bu işlevi yalnızca ihtiyaç temelinde çalıştırdığımdan (yani her powershell oturumu için ve / veya her zaman değil), powershell başlangıç ​​profilimde saklamak istemiyorum.


Not: iki Bash komutunuz farklıdır. Büyük olasılıkla ikincisinde nokta olması veya her ikisinin de komut dosyası adının başında "./" (geçerli dizin) olmasını kastetmemişsinizdir.
sonraki duyuruya kadar duraklatıldı.

Düzeltildi (noktayı kaldırarak)
Sridhar Ratnakumar

Yanıtlar:


29

PowerShell'de de " nokta kaynağı " yapabilirsiniz . Sadece tam yolu belirttiğinizden emin olmanız gerekir. Bu nedenle, yüklemek istediğiniz komut dosyası yerel dizindeyse şunları yaparsınız:

PS C:\>. .\myscript.ps1

BU doğru cevap :) PowerShell'de nokta kaynağı tıpkı
Bash'ta

Bunu yapabileceğine dair hiçbir fikrim yoktu. Güzel.
DaveParillo

Oha! Neden daha önce denemedim? :)
Sridhar Ratnakumar

1
Zaten mevcut bir cmd betiği ile bu yapılabilir mi? Bir cmd komut dosyası yürütme, powershell ortamının değiştirilmesine neden oldu mu?
peabody

1
Bir .batdosyayı çalıştırmanız ve ortamı değiştirmeniz gerekiyorsa ne olur ?
Chloe
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.