Cara mengubah direktori menggunakan skrip

10

Saya punya skrip ini

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

berfungsi seperti yang diharapkan, tapi saya ingin skrip ini untuk mengirim saya ke / home / user / somedir, tapi saya tetap di dir yang sama.

Bagaimana cara menulis skrip yang akan memindahkan saya (di gnome-terminal) ke / home / user / somedir?

UAdapter
sumber

Jawaban:

14

Anda perlu sourceskrip Anda. Jika tidak, ia akan dijalankan dalam subkulit terpisah, mengubah direktori kerja subkulit tetapi tidak dari shell tempat Anda menjalankannya.

Untuk sumbernya:

. myfile.sh

atau

source myfile.sh

Anda dapat membaca lebih lanjut di sini

danjjl
sumber
Saya hanya akan menambahkan itu .... UAdadapter jika Anda menjalankan skrip shelll seperti sh myfile.sh atau ./myfile.sh itu akan berjalan seperti dijelaskan danjil. Salah satu dari opsi danjil harus bekerja untuk Anda.
itnet7
3

Gunakan exec bashdi akhir

Skrip bash beroperasi pada lingkungannya saat ini atau di lingkungan anak-anaknya, tetapi tidak pernah di lingkungan orang tuanya.

Namun, pertanyaan ini sering ditanyakan karena seseorang ingin dibiarkan di bash prompt di direktori tertentu setelah eksekusi skrip bash dari direktori lain.

Jika ini masalahnya, jalankan saja instance bash anak di akhir skrip:

#!/bin/bash
cd /home/user/somedir
exec bash
Serge Stroobandt
sumber