Bagaimana cara menjalankan .profile dari file .bashrc?


0

Saya memiliki nama file .test dengan pernyataan gema. Sekarang saya ingin menjalankan file ini dari file .bashrc. Apa yang telah saya lakukan sejauh ini adalah:

File .test saya berisi:

echo "hello everyone"

File .bashrc saya mengandung:

echo "hello world"

Sekarang yang saya inginkan adalah menjalankan file .test dari file .bashrc dan inilah yang saya lakukan

Dalam file .bashrc

echo "hello world"
ENV=$(/home/narwen/.test)
echo $ENV

Sekarang ketika saya mencoba menjalankan file .bashrc dari prompt seperti ini

. .bashrc

saya mendapat

Halo Dunia

dan kesalahan seperti ini

XAUTHORITY=/home/niraj/.Xauthority
_=/usr/bin/env
=

Bisakah seseorang membantu saya?


Sekali lagi, Anda menggunakan spasi dalam variabel, tapi jangan gunakan spasi tambahan! SeharusnyaENV=VAR
Braiam

Jawaban:


1

Cukup gunakan:

. /path/to/.test

atau:

source /path/to/.test

Atau, jika Anda ingin menyimpan output . /path/to/.testdalam variabel ENV, maka gunakan:

ENV=$(. /path/to/.test)

Jadi, tolong jangan gunakan spasi di sekitar =tugas dalam.

Dan nanti, Anda bisa menggunakan $ENVvariabel seperti:

echo $ENV

Terima kasih atas jawabannya tetapi Anda tidak mengerti maksud saya. Saya telah menempatkan satu pernyataan gema dalam file .bashrc dan satu pernyataan gema dalam file .test. Sekarang saya ingin menampilkan pernyataan echo file .test dari file .bashrc. Jadi bagaimana saya bisa melakukannya?
Narwen

Persis seperti yang saya katakan.
Radu Rădeanu

bagaimana apanya? Saya pikir Anda tidak mendapatkan saya atau saya tidak dapat menjelaskannya kepada Anda.
Narwen

@Narwen Lihat hasil edit baru saya.
Radu Rădeanu

Bisakah Anda mengunjungi kembali pertanyaannya? Saya baru saja mengeditnya.
Narwen

0

.testFile Anda sedang dieksekusi sebagai skrip. Sebagai gantinya, Anda mungkin perlu garpu shell untuk menerapkan variabel ENV ke shell:

$ . .bash
$ echo $ENV
something
$

.testFile saya echo "something"sebagai konten dan .bashmemiliki ENV=$(. /home/braiam/.test):

$ cat .bash
ENV=$(. /home/braiam/.test)
$ cat .test
echo "something"

Tidak ada dadu. Saat Anda sumber file, file itu tidak perlu dieksekusi.
Radu Rădeanu

Saya telah mencoba memberikan izin yang dapat dieksekusi tetapi saya masih mendapatkan hasil yang sama.
Narwen

@Narwen menggunakan bagian akhir dari jawaban Radu, Anda harus membayar cangkang terlebih dahulu sebelum dapat mengambilnya. Ketika Anda melakukan itu hanya menjalankan .dan .test.
Braiam
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.