Saya memiliki skrip yang menggunakan sh
shell. Saya mendapatkan kesalahan di baris yang menggunakan source
perintah. Sepertinya source
tidak termasuk dalam sh
shell saya .
Jika saya secara eksplisit mencoba menjalankan source
dari shell saya mendapatkan:
sh: 1: source: not found
Haruskah saya menginstal "sumber"? Apakah saya memiliki versi yang salah sh
?
source
adalah "versi yang salah".source: not found
berarti bahwasource
perintah dievaluasi dengan benar, tetapi file yang seharusnya dibaca tidak ada.source
karena ini adalah fitur dari shell. Itu tidak dapat diimplementasikan sebagai perintah eksternal.Jawaban:
/bin/sh
biasanya beberapa shell lain mencoba meniru The Shell. Banyak distribusi digunakan/bin/bash
untuksh
mendukungsource
. Di Ubuntu, meskipun,/bin/dash
digunakan yang tidak mendukungsource
. Sebagian besar kerang digunakan.
sebagai gantinyasource
. Jika Anda tidak dapat mengedit skrip, coba ganti shell yang menjalankannya.sumber
/bin/sh
panggilan/bin/dash
. Secara tradisional, yang/bin/sh
dipanggil/bin/bash
adalah mode kompatibilitas-sh.SHELL := /bin/bash
ke bagian atas Makefile saya.Di Bourne shell (sh), gunakan. perintah untuk sumber file
sumber
source
tidak ketatsh
.. ./filename
. Kalau tidak, saya akan mendapatkansh: 1: .: filename: not found
kesalahan saat menjalankan tes di Travis-CI.Maka itu akan baik-baik saja
sumber
dpkg-reconfigure
mungkin tidak dapat diakses untuk semua pengguna, terutama pada sistem yang tidak didasarkan pada Debiansource: not found
kesalahan saya dengan klien telnet lama setelah upgrade debian, terima kasih.The
source
builtin adalah bashism a. Tulis ini hanya sebagai.
gantinya.misalnya
sumber
Masalah ini terjadi karena jenkins Execute Shell menjalankan skripnya melalui / bin / sh
Akibatnya, / bin / sh tidak tahu "sumber"
Anda hanya perlu menambahkan baris di bawah ini di bagian atas Execute Shell Anda di jenkins
sumber
The
source
perintah dibangun ke beberapa kerang. Jika Anda memiliki skrip, skrip tersebut harus menentukan shell apa yang akan digunakan pada baris pertama, seperti:sumber
Saya menghadapi kesalahan ini ketika saya mencoba memanggil perintah sumber dari #Jenkins mengeksekusi shell.
source profile.txt
atausource profile.properties
Penggantian untuk perintah sumber adalah dengan menggunakan,
. ./profile.txt
atau. ./profile.properties
Catatan: Ada ruang antara dua titik (.)
sumber
Saya temukan di Makenile gnu di Ubuntu, (di mana / bin / sh -> bash)
Saya perlu menggunakan. perintah, serta menentukan skrip target dengan awalan ./ (lihat contoh di bawah)
sumber tidak berfungsi dalam contoh ini, tidak yakin mengapa karena seharusnya memanggil / bin / bash ..
Variabel lingkungan SHELL saya juga disetel ke / bin / bash
Perhatikan sampel ini tidak termasuk karakter tab; harus memformat untuk pertukaran stack.
sumber
source adalah perintah built-in bash sehingga untuk mengeksekusi perintah source, Anda bisa login sebagai Root.
sudo -s source ./filename.sh
sumber
Di Ubuntu, alih-alih menggunakan sh scriptname.sh untuk menjalankan file, saya telah menggunakan. scriptname.sh dan berhasil! Baris pertama file saya berisi:
#!/bin/bash
gunakan perintah ini untuk menjalankan skrip
sumber
Ini dapat membantu Anda, saya mendapatkan kesalahan ini karena saya mencoba memuat ulang
.profile
perintah saya. .profile
dan ada kesalahan sintaksissumber
Bourne shell (sh) menggunakan PATH untuk mencari di
source <file>
. Jika file yang Anda coba sumber tidak ada di jalur Anda, Anda mendapatkan kesalahan 'file tidak ditemukan'.Mencoba:
sumber
sh: 1: source: not found
tidakfile not found