kdb-elektrify-getenv - ອອນລາຍໃນຄລາວ

ນີ້ແມ່ນຄໍາສັ່ງ kdb-elektrify-getenv ທີ່ສາມາດດໍາເນີນການໄດ້ໃນ OnWorks ຜູ້ໃຫ້ບໍລິການໂຮດຕິ້ງຟຣີໂດຍໃຊ້ຫນຶ່ງໃນສະຖານີເຮັດວຽກອອນໄລນ໌ຟຣີຫຼາຍອັນຂອງພວກເຮົາເຊັ່ນ Ubuntu Online, Fedora Online, Windows online emulator ຫຼື MAC OS online emulator

ໂຄງການ:

NAME


kdb-elektrify-getenv - ໄຟຟ້າສະພາບແວດລ້ອມຂອງຄໍາຮ້ອງສະຫມັກ

ສະຫຼຸບສັງລວມ


kdb ໄຟຟ້າ-getenv ຄໍາຮ້ອງສະຫມັກ ທາງເລືອກໃນການ

ລາຍລະອຽດ


ໃນເວລາທີ່ຄໍາຮ້ອງສະຫມັກແມ່ນ elektrified ໂດຍໃຊ້ libelektragetenv, ມັນບໍ່ພຽງແຕ່ຮ້ອງຂໍ
ກ່ຽວກັບ, ແຕ່ຍັງ Elektra ສໍາລັບທຸກໆ getenv(3) ແລະ secure_getenv(3​) ຫ້ອງ​ສະ​ຫມຸດ​ໂທ​.

ຈຸດ​ປະ​ສົງ​ຕົ້ນ​ຕໍ​ຂອງ​ມັນ​ແມ່ນ​ເພື່ອ​:

· ມີວິທີການມາດຕະຖານເພື່ອດັດແປງສະພາບແວດລ້ອມ

· ເຮັດໃຫ້ relogin (ຫຼືແມ້ກະທັ້ງ restart!) ຂອງຄໍາຮ້ອງສະຫມັກທີ່ບໍ່ຈໍາເປັນ

· ອະ​ນຸ​ຍາດ​ໃຫ້​ໂຄງ​ສ້າງ​ລໍາ​ດັບ​ສໍາ​ລັບ​ສິ່ງ​ແວດ​ລ້ອມ​

·ອະນຸຍາດໃຫ້ການຕັ້ງຄ່າພຽງແຕ່ນໍາໃຊ້ສໍາລັບຄໍາຮ້ອງສະຫມັກສ່ວນບຸກຄົນຫຼືພຽງແຕ່ໃນສະພາບການພິເສດ

· ຍັງ​ຄົງ​ຮັກ​ສາ​ຄວາມ​ໄດ້​ປຽບ (ສືບ​ທອດ​ສິ່ງ​ແວດ​ລ້ອມ​ກັບ​ຂະ​ບວນ​ການ​ຍ່ອຍ​)

·ມີຢູ່ໃນ, cron ແລະສະຄິບທີ່ຄ້າຍຄືກັນ.

ມັນໄດ້ຖືກປະຕິບັດໂດຍໃຊ້ເຕັກນິກ LD_PRELOAD, ເບິ່ງ ການນໍາໃຊ້ ຂ້າງລຸ່ມນີ້ສໍາລັບການເປີດໃຊ້ທົ່ວໂລກ.

ຊອກຫາ


ຈຸດປະສົງຕົ້ນຕໍຂອງວິທີການນີ້ແມ່ນເພື່ອໃຫ້ສຸດທ້າຍມີວິທີການກໍານົດແລະໄດ້ຮັບ
ຕົວແປສະພາບແວດລ້ອມ. ຕົວແປຂອງ Elektra ຈະຖືກນໍາໃຊ້ໃນທັນທີສໍາລັບທຸກໆອັນໃຫມ່
ໄດ້​ເລີ່ມ​ຕົ້ນ​ຄໍາ​ຮ້ອງ​ສະ​ຫມັກ (ບໍ່​ຈໍາ​ເປັນ​ຕ້ອງ relogin​)​.

ເພື່ອເຮັດແນວນັ້ນ, getenv(3) ຈະຊອກຫາແຫຼ່ງຫຼາຍອັນຖັດຈາກການຄົ້ນຫາໃນສະພາບແວດລ້ອມ
(ສະພາບແວດລ້ອມ). ໃນຖານະເປັນຕົວຢ່າງແລ່ນຈະໃຊ້ getenv("ເຮືອນ") -> /path/to/home:

1. ຕົວກໍານົດການເສັ້ນຄໍາສັ່ງທີ່ໃຫ້ໄວ້ຈະເປັນທີ່ຕ້ອງການສະເຫມີ (ເບິ່ງ OPTIONS ດ້ານລຸ່ມ).

ຕົວຢ່າງ kdb ໄຟຟ້າ-getenv --elektra:HOME=/ເສັ້ນທາງ/ໄປ/ເຮືອນ

2. ຈາກນັ້ນ /env/override/ ຈະຖືກເບິ່ງຂຶ້ນ, ບ່ອນທີ່ ທີ່ສໍາຄັນ ແມ່ນຕົວກໍານົດການ getenvທີ່ຢູ່ ຖ້າຫາກວ່າ
ພົບເຫັນ, ລະຫັດຈະຖືກສົ່ງຄືນ, ຖ້າມັນເປັນກະແຈ null, getenv ຈະກັບຄືນ NULL.

ຕົວຢ່າງ kdb ທີ່ກໍານົດໄວ້ user/env/override/HOME /path/to/home

3. ຫຼັງຈາກນັ້ນ, ສະພາບແວດລ້ອມຈະຖືກຮ້ອງຂໍ.

ຕົວຢ່າງ HOME=/ເສັ້ນທາງ/ໄປ/ເຮືອນ kdb ໄຟຟ້າ-getenv

4. ຈາກນັ້ນ /env/fallback/ ຈະຖືກເບິ່ງຂຶ້ນ. ຖ້າພົບເຫັນ, ລະຫັດຈະຖືກສົ່ງຄືນ, ຖ້າມັນ
ເປັນກະແຈ null, getenv ຈະກັບຄືນ NULL.

ຕົວຢ່າງ kdb ທີ່ກໍານົດໄວ້ user/env/fallback/HOME /path/to/home

OPTIONS


ເມື່ອ​ໃດ​ ໄຟຟ້າ-getenv ມີການເຄື່ອນໄຫວ, ທຸກໆຄໍາຮ້ອງສະຫມັກຍັງຍອມຮັບ Elektra's getenv
ທາງເລືອກ. Interleaving Elektra's ແລະທາງເລືອກຂອງຄໍາຮ້ອງສະຫມັກແມ່ນອະນຸຍາດໃຫ້. Elektra ຈະ
parse ທາງ​ເລືອກ​ຂອງ​ຕົນ (ເລີ່ມ​ຕົ້ນ​ດ້ວຍ --elektra​) ທໍາ​ອິດ​ແລະ​ປະ​ຖິ້ມ​ເຂົາ​ເຈົ້າ​ກ່ອນ​ທີ່​ອື່ນ​
ຄໍາຮ້ອງສະຫມັກແມ່ນເລີ່ມຕົ້ນ. ດັ່ງນັ້ນຄໍາຮ້ອງສະຫມັກຈະບໍ່ເຫັນວ່າພວກມັນມີຢູ່,
ຕົວຢ່າງ: ໃຫ້ kdb ໄຟຟ້າ-getenv -V --elektra-debug -L ຄໍາ​ຮ້ອງ​ສະ​ຫມັກ​ຈະ​
ຖືກເອີ້ນດ້ວຍ -V -L.

ພາຍໃນ ທາງເລືອກໃນການ
--elektra-ຊ່ວຍ
ຜົນໄດ້ຮັບການຊ່ວຍເຫຼືອນີ້.

--elektra-ສະບັບ
ໃຫ້ຂໍ້ມູນສະບັບ.

--elektra-debug=ໄຟລ໌, ELEKTRA_DEBUG or /env/option/debug
ຕິດຕາມທັງໝົດ getenv(3) ໂທໄປຫາໄຟລ໌. stderr ຖ້າບໍ່ມີໄຟລ໌ຖືກມອບໃຫ້, e.g kdb ທີ່ກໍານົດໄວ້
user/env/option/debug "". ຈົ່ງຈື່ໄວ້ວ່າຄ່າ null (ບໍ່ມີການໂຕ້ຖຽງກັນ), ຈະປິດການໃຊ້ງານ
ແກ້ບັນຫາຂໍ້ຄວາມ. ເບິ່ງຕົວຢ່າງຂ້າງລຸ່ມນີ້.

--elektra-clearenv, ELEKTRA_CLEARENV or /env/option/clearenv
ໂທ clearenv(3​) ກ່ອນ​ທີ່​ຈະ​ເຂົ້າ​ຫຼັກ​. ນີ້ແມ່ນຄຸນສົມບັດຄວາມປອດໄພທີ່ແນະນໍາ.
Elektra ຕົວຂອງມັນເອງ, ຖ້າ configured ແບບນັ້ນ, ຍັງຈະສາມາດນໍາໃຊ້ສະພາບແວດລ້ອມໄດ້.

--elektra-reload-timeout=time_in_ms, ELEKTRA_RELOAD_TIMEOUT or /env/option/reload_timeout
ເປີດໃຊ້ຄຸນສົມບັດທີ່ອີງໃສ່ການໝົດເວລາເມື່ອເວລາຖືກມອບເປັນ ms (ແລະບໍ່ແມ່ນ 0).

ທາງ​ເລືອກ​ພາຍ​ໃນ​ແມ່ນ​ມີ​ຢູ່​ໃນ​ສາມ​ຕົວ​ແປ​ທີ່​ແຕກ​ຕ່າງ​ກັນ​:

1. ເປັນຕົວກໍານົດການຄໍາສັ່ງ: --ໄຟຟ້າ-, ເຊິ່ງແມ່ນ ບໍ່ ຜ່ານ exec(3​)
ໂທ.

2. ເປັນຕົວແປສະພາບແວດລ້ອມ: ELEKTRA_. ເຊິ່ງອາດຈະຜ່ານ exec(3​)
ໂທ, ແຕ່ຖືກໂຍກຍ້າຍອອກໂດຍ clearenv(3) ໂທ.

3. ເປັນລາຍການ Elektra KDB: /env/option/, ຊຶ່ງເປັນວິທີການທີ່ຈະບັນລຸທາງເລືອກທີ່ຈະ
ຖືກເປີດໃຊ້ສໍາລັບທຸກໆແອັບພລິເຄຊັນ.

ຕົວຢ່າງ kdb ທີ່ກໍານົດໄວ້ user/env/option/clearenv "" ເພື່ອອະນາໄມສະພາບແວດລ້ອມສໍາລັບທຸກຄໍາຮ້ອງສະຫມັກ
ເລີ່ມຕົ້ນໂດຍຜູ້ໃຊ້ນັ້ນ (ສັງເກດວ່າຢ່າງຫນ້ອຍ PATH ຄວນ​ຈະ​ໄດ້​ຮັບ​ການ​ນໍາ​ໃຊ້​ kdb ທີ່ກໍານົດໄວ້
user/env/fallback/PATH "/ ຖັງ:/ usr / ຖັງ" ຫຼັງຈາກນັ້ນ).

ໝາຍເຫດ, ປຸ່ມ null ນັ້ນເທົ່າກັບຕົວເລືອກທີ່ບໍ່ໄດ້ຕັ້ງ. ຕົວຢ່າງ kdb ທີ່ກໍານົດໄວ້
system/env/option/debug "/tmp/elektra.log" ແລະ kdb ທີ່ກໍານົດໄວ້ user/env/option/debug ຈະ
ເປີດໃຊ້ການບັນທຶກສໍາລັບລະບົບ, ຍົກເວັ້ນຜູ້ໃຊ້ປະຈຸບັນ.

ສະພາບຄວາມເປັນຈິງ ທາງເລືອກໃນການ
--ໄຟຟ້າ% %= or /env/layer/
ເພີ່ມຂໍ້ມູນບໍລິບົດ (=layer) % % ດ້ວຍຄຸນຄ່າຂອງມັນ . ໃຫ້ສັງເກດວ່າ
%yam% ຖືກກໍານົດໄວ້ລ່ວງໜ້າດ້ວຍ argv[0] ແລະ %ຊື່ພື້ນຖານ% ກັບ ຊື່ພື້ນຖານ(argv[0]).

ຄ່າສາມາດບັນຈຸ / ເພື່ອສ້າງລໍາດັບຊັ້ນ, ຕົວຢ່າງ --elektra%name%=ແອັບ/ໂປຣໄຟລ໌

ທາງເລືອກໃນການ ສໍາລັບການ ຄໍາຮ້ອງສະຫມັກ
--elektra:key=value, /env/override/ or /env/fallback/
ກໍານົດລະຫັດ / ຄ່າທີ່ຕ້ອງການ, ie ທໍາອິດທີ່ພິຈາລະນາຕາມທີ່ໄດ້ອະທິບາຍໄວ້ໃນ
ເບິ່ງ.

ຄີສາມາດບັນຈຸ / ເພື່ອສ້າງລໍາດັບຊັ້ນ, ຕົວຢ່າງ --elektra:my/HOME=/path/to/home.

ການນໍາໃຊ້


ເພື່ອໃຊ້ສະພາບແວດລ້ອມ getenv ຂອງ Elektra ສະເຫມີ, ພຽງແຕ່ເພີ່ມຜົນຜະລິດໃສ່ໄຟລ໌:

kdb elektrify-getenv | ຫາງ -1 | sudo tee -a /etc/ld.so.preload

ນີ້ຍັງສາມາດເຮັດໄດ້ໂດຍໃຊ້ Elektra:

sudo kdb mount /etc/ld.so.preload system/ld/preload line null
sudo kdb ຕັ້ງ "system/ld/preload/new" `kdb elektrify-getenv | ຫາງ -1`

CONTEXT


ເມຕາເດຕາ context ໃນສະເພາະສາມາດຖືກນໍາໃຊ້ເພື່ອອໍານວຍຄວາມສະດວກໃນສະພາບການທີ່ຂຶ້ນກັບ
ຊອກຫາ. ໃນ metavalue ຂອງຕົນການທົດແທນທັງຫມົດຂອງ % % ຈະ​ຖືກ​ທົດ​ແທນ​ໂດຍ​ການ​ໃຫ້​
ທາງເລືອກໃນສະພາບການ --ໄຟຟ້າ% %= ແລະ /env/layer/ keys

ຕົວຢ່າງ: ໃຫ້ມີລາຍຊື່ບ້ານທີ່ແຕກຕ່າງກັນສໍາລັບຜູ້ໃຊ້ ແລະແອັບພລິເຄຊັນໃດນຶ່ງ:

kdb ຕັ້ງ user/env/layer/user markus
kdb ຕັ້ງ user/users/markus/konqueror/HOME /home/download
kdb setmeta spec/env/override/HOME context /users/%user%/%name%/HOME

ໃຊ້ kdb-elektrify-getenv ອອນໄລນ໌ໂດຍໃຊ້ບໍລິການ onworks.net



ລ່າສຸດ Linux ແລະ Windows ໂຄງການອອນໄລນ໌