Komut dosyası kullanarak dizin nasıl değiştirilir


10

Bu senaryoya sahibim

#!/bin/bash
cd /home/user/somedir
pwd

beklendiği gibi çalışır, ancak bu komut dosyası beni / home / user / somedir'e taşımak istiyorum, ama aynı dizinde kalıyorum.

Beni (gnome-terminalinde) / home / user / somedir 'e taşıyacak komut dosyası nasıl yazılır?


Yanıtlar:


14

sourceSenaryonuza ihtiyacınız var . Değilse, ayrı bir alt kabukta çalıştırılır, alt kabuğun çalışma dizinini değiştirir, ancak çalıştırdığınız kabuğun yerini değiştirmez.

Kaynak yapmak için:

. myfile.sh

veya

source myfile.sh

Daha fazlasını buradan okuyabilirsiniz


Bunu ekleyecektim .... UAdadapter sh myfile.sh veya ./myfile.sh gibi shelll betiğini çalıştırıyorsanız, danjil açıklandığı gibi çalışacaktı. Danjil'in seçeneklerinden herhangi biri sizin için çalışmalıdır.
itnet7

3

exec bashSonunda kullanın

Bir bash betiği şu anki ortamında veya çocuklarında çalışır, ancak asla ana ortamında çalışmaz.

Ancak, bu soru sıklıkla sorulur, çünkü başka bir dizinden bir bash betiğinin yürütülmesinden sonra belirli bir dizinde bir bash isteminde kalmak ister.

Bu durumda, komut dosyasının sonunda bir alt bash örneği çalıştırın:

#!/bin/bash
cd /home/user/somedir
exec bash
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.