OnWorks Linux ແລະ Windows Online WorkStations

Logo

ໂຮດຕິ້ງອອນໄລນ໌ຟຣີສໍາລັບ WorkStations

<Previous | ເນື້ອໃນ | ຕໍ່ໄປ>

7.7. ໄຟລ໌ການເລີ່ມຕົ້ນ Bash Shell

ໂຄງການແກະ / bin / bash (ຕໍ່ໄປນີ້ເອີ້ນວ່າ "ແກະ") ໃຊ້ການລວບລວມໄຟລ໌ເລີ່ມຕົ້ນເພື່ອຊ່ວຍສ້າງສະພາບແວດລ້ອມທີ່ຈະດໍາເນີນການ. ໄຟລ໌ໃນ / ແລະອື່ນໆ ໄດເລກະທໍລີໃຫ້ການຕັ້ງຄ່າທົ່ວໂລກ. ຖ້າມີໄຟລ໌ທຽບເທົ່າຢູ່ໃນໄດເຣັກທໍຣີເຮືອນ, ມັນອາດຈະ override ການຕັ້ງຄ່າທົ່ວໂລກ.

ແກະການເຂົ້າສູ່ລະບົບແບບໂຕ້ຕອບແມ່ນເລີ່ມຕົ້ນຫຼັງຈາກການເຂົ້າສູ່ລະບົບສົບຜົນສໍາເລັດ, ໂດຍໃຊ້ /bin/ເຂົ້າສູ່ລະບົບ, ໂດຍການອ່ານ / etc / passwd ໄຟລ໌. Shell ທີ່ບໍ່ເຂົ້າລະບົບແບບໂຕ້ຕອບແມ່ນເລີ່ມຕົ້ນຢູ່ເສັ້ນຄໍາສັ່ງ (ເຊັ່ນ: [prompt]$/ bin / bash). Shell ທີ່ບໍ່ມີການໂຕ້ຕອບມັກຈະມີຢູ່ໃນເວລາທີ່ສະຄິບ shell ກໍາລັງແລ່ນ. ມັນບໍ່ແມ່ນການໂຕ້ຕອບເພາະວ່າມັນກໍາລັງປະມວນຜົນສະຄິບແລະບໍ່ລໍຖ້າການປ້ອນຂໍ້ມູນຂອງຜູ້ໃຊ້ລະຫວ່າງຄໍາສັ່ງ.

ສໍາລັບຂໍ້ມູນເພີ່ມເຕີມ, ເບິ່ງ ຂໍ້​ມູນ bash​ ພາຍ​ໃຕ້​ການ Bash Startup Files ແລະ Interactive Shells ສ່ວນ.

ໄຟລ໌ / etc / profile ແລະ ~ / .bash_profile ຖືກອ່ານເມື່ອ shell ຖືກເອີ້ນເປັນ shell ເຂົ້າສູ່ລະບົບແບບໂຕ້ຕອບ.

ພື້ນຖານ / etc / profile ຂ້າງລຸ່ມນີ້ກໍານົດບາງຕົວແປສະພາບແວດລ້ອມທີ່ຈໍາເປັນສໍາລັບການສະຫນັບສະຫນູນພາສາກໍາເນີດ. ການ​ຕັ້ງ​ຄ່າ​ໃຫ້​ເຂົາ​ເຈົ້າ​ຢ່າງ​ຖືກ​ຕ້ອງ​ຜົນ​ໄດ້​ຮັບ​ໃນ​:

• ຜົນໄດ້ຮັບຂອງບັນດາໂຄງການທີ່ແປເປັນພາສາກໍາເນີດ

• ການ​ຈັດ​ປະ​ເພດ​ຕົວ​ອັກ​ສອນ​ທີ່​ຖືກ​ຕ້ອງ​ເຂົ້າ​ໄປ​ໃນ​ຕົວ​ອັກ​ສອນ​, ຕົວ​ເລກ​ແລະ​ຫ້ອງ​ຮຽນ​ອື່ນໆ​. ນີ້ແມ່ນມີຄວາມຈໍາເປັນສໍາລັບ bash ເພື່ອຍອມຮັບຕົວອັກສອນທີ່ບໍ່ແມ່ນ ASCII ໃນແຖວຄໍາສັ່ງຢູ່ໃນທ້ອງຖິ່ນທີ່ບໍ່ແມ່ນພາສາອັງກິດຢ່າງຖືກຕ້ອງ

• ລຳດັບການຈັດຮຽງຕົວໜັງສືທີ່ຖືກຕ້ອງສຳລັບປະເທດ

• ຂະໜາດເຈ້ຍທີ່ເໝາະສົມ

• ການຈັດຮູບແບບທີ່ຖືກຕ້ອງຂອງຄ່າເງິນ, ເວລາ, ແລະວັນທີ

ແທນທີ່ ຂ້າງລຸ່ມນີ້ດ້ວຍລະຫັດສອງຕົວອັກສອນສໍາລັບພາສາທີ່ຕ້ອງການ (ຕົວຢ່າງ, "en") ແລະ ດ້ວຍລະຫັດສອງຕົວໜັງສືສຳລັບປະເທດທີ່ເໝາະສົມ (ເຊັ່ນ: “GB”). ຄວນຖືກແທນທີ່ດ້ວຍ charmap canonical ສໍາລັບທ້ອງຖິ່ນທີ່ທ່ານເລືອກ. ຕົວແກ້ໄຂທາງເລືອກເຊັ່ນ "@euro" ອາດມີຢູ່.

ບັນຊີລາຍຊື່ຂອງທ້ອງຖິ່ນທັງຫມົດທີ່ສະຫນັບສະຫນູນໂດຍ Glibc ສາມາດໄດ້ຮັບໂດຍການແລ່ນຄໍາສັ່ງຕໍ່ໄປນີ້:


locale-a

locale-a

Charmaps ສາມາດມີນາມແຝງຈໍານວນຫນຶ່ງ, ເຊັ່ນ: “ISO-8859-1” ຍັງເອີ້ນວ່າ “iso8859-1” ແລະ “iso88591”. ບາງແອັບພລິເຄຊັນບໍ່ສາມາດຈັດການກັບຄໍາສັບຄ້າຍຄືກັນໄດ້ຢ່າງຖືກຕ້ອງ (ເຊັ່ນ: ຕ້ອງການໃຫ້ "UTF-8" ຂຽນເປັນ "UTF-8", ບໍ່ແມ່ນ "utf8"), ສະນັ້ນມັນປອດໄພທີ່ສຸດໃນກໍລະນີຫຼາຍທີ່ສຸດທີ່ຈະເລືອກເອົາຊື່ canonical ສໍາລັບທ້ອງຖິ່ນສະເພາະໃດຫນຶ່ງ. ເພື່ອກໍານົດຊື່ canonical, ດໍາເນີນການຄໍາສັ່ງຕໍ່ໄປນີ້, ບ່ອນທີ່ ແມ່ນຜົນຜະລິດທີ່ໄດ້ຮັບໂດຍ locale-a ສໍາລັບທ້ອງຖິ່ນທີ່ທ່ານຕ້ອງການ (“en_GB.iso88591” ໃນຕົວຢ່າງຂອງພວກເຮົາ).


LC_ALL = ສະເໜ່ທ້ອງຖິ່ນ

LC_ALL = ສະເໜ່ທ້ອງຖິ່ນ


ສໍາລັບສະຖານທີ່ "en_GB.iso88591", ຄໍາສັ່ງຂ້າງເທິງຈະພິມ:


ISO-8859-1

ISO-8859-1

ອັນນີ້ເຮັດໃຫ້ການຕັ້ງຄ່າທ້ອງຖິ່ນສຸດທ້າຍຂອງ “en_GB.ISO-8859-1”. ມັນເປັນສິ່ງສໍາຄັນທີ່ທ້ອງຖິ່ນທີ່ພົບເຫັນໂດຍໃຊ້ heuristic ຂ້າງເທິງແມ່ນໄດ້ຖືກທົດສອບກ່ອນທີ່ຈະຖືກເພີ່ມເຂົ້າໄປໃນໄຟລ໌ເລີ່ມຕົ້ນ Bash:


LC_ALL= ພາສາທ້ອງຖິ່ນ LC_ALL= locale charmap LC_ALL= locale int_curr_symbol LC_ALL= locale int_prefix

LC_ALL= ພາສາທ້ອງຖິ່ນ LC_ALL= locale charmap LC_ALL= locale int_curr_symbol LC_ALL= locale int_prefix

ຄໍາສັ່ງຂ້າງເທິງນີ້ຄວນພິມຊື່ພາສາ, ການເຂົ້າລະຫັດຕົວອັກສອນທີ່ໃຊ້ໂດຍທ້ອງຖິ່ນ, ສະກຸນເງິນທ້ອງຖິ່ນ, ແລະຄໍານໍາຫນ້າເພື່ອໂທຫາກ່ອນຫມາຍເລກໂທລະສັບເພື່ອເຂົ້າໄປໃນປະເທດ. ຖ້າຄໍາສັ່ງໃດໆຂ້າງເທິງລົ້ມເຫລວດ້ວຍຂໍ້ຄວາມທີ່ຄ້າຍຄືກັນກັບທີ່ສະແດງຂ້າງລຸ່ມນີ້, ນີ້ຫມາຍຄວາມວ່າທ້ອງຖິ່ນຂອງທ່ານບໍ່ໄດ້ຖືກຕິດຕັ້ງຢູ່ໃນບົດທີ 6 ຫຼືບໍ່ໄດ້ຮັບການສະຫນັບສະຫນູນໂດຍການຕິດຕັ້ງເລີ່ມຕົ້ນຂອງ Glibc.


locale: ບໍ່​ສາ​ມາດ​ຕັ້ງ LC_* ເປັນ​ຖານ​ທີ່​ເລີ່ມ​ຕົ້ນ​: ບໍ່​ມີ​ໄຟລ​໌​ຫຼື​ລະ​ບົບ​ດັ່ງ​ກ່າວ​

locale: ບໍ່​ສາ​ມາດ​ຕັ້ງ LC_* ເປັນ​ຖານ​ທີ່​ເລີ່ມ​ຕົ້ນ​: ບໍ່​ມີ​ໄຟລ​໌​ຫຼື​ລະ​ບົບ​ດັ່ງ​ກ່າວ​

ຖ້າສິ່ງນີ້ເກີດຂຶ້ນ, ທ່ານຄວນຕິດຕັ້ງສະຖານທີ່ທີ່ຕ້ອງການໂດຍໃຊ້ ທ້ອງຖິ່ນ ຄໍາສັ່ງ, ຫຼືພິຈາລະນາເລືອກທ້ອງຖິ່ນທີ່ແຕກຕ່າງກັນ. ຄໍາແນະນໍາເພີ່ມເຕີມສົມມຸດວ່າບໍ່ມີຂໍ້ຄວາມສະແດງຂໍ້ຜິດພາດດັ່ງກ່າວຈາກ Glibc.

ບາງແພັກເກດທີ່ນອກເໜືອໄປຈາກ LFS ອາດຂາດການຮອງຮັບສະຖານທີ່ທີ່ທ່ານເລືອກ. ຕົວຢ່າງຫນຶ່ງແມ່ນຫ້ອງສະຫມຸດ X (ສ່ວນຫນຶ່ງຂອງລະບົບ X Window), ເຊິ່ງອອກຂໍ້ຄວາມສະແດງຂໍ້ຜິດພາດຕໍ່ໄປນີ້ຖ້າສະຖານທີ່ບໍ່ກົງກັບຊື່ແຜນທີ່ຕົວອັກສອນໃນໄຟລ໌ພາຍໃນຂອງມັນ:


ຄຳເຕືອນ: ສະຖານທີ່ບໍ່ຮອງຮັບໂດຍ Xlib, ສະຖານທີ່ຕັ້ງເປັນ C

ຄຳເຕືອນ: ສະຖານທີ່ບໍ່ຮອງຮັບໂດຍ Xlib, ສະຖານທີ່ຕັ້ງເປັນ C

ໃນຫຼາຍໆກໍລະນີ Xlib ຄາດຫວັງວ່າແຜນທີ່ຕົວລະຄອນຈະຖືກລະບຸໄວ້ໃນຕົວພິມໃຫຍ່ທີ່ມີ dashes canonical. ຕົວຢ່າງ, "ISO-8859-1" ແທນທີ່ຈະ "iso88591". ມັນຍັງເປັນໄປໄດ້ທີ່ຈະຊອກຫາຂໍ້ກໍາຫນົດທີ່ເຫມາະສົມໂດຍການຖອນສ່ວນ charmap ຂອງສະຖານທີ່ສະເພາະ. ນີ້ສາມາດກວດສອບໄດ້ໂດຍການແລ່ນ ສະເໜ່ທ້ອງຖິ່ນ ຄໍາສັ່ງຢູ່ໃນທັງສອງທ້ອງຖິ່ນ. ຕົວຢ່າງ, ຫນຶ່ງຈະຕ້ອງປ່ຽນ "de_DE.ISO-8859-15@euro" ເປັນ "de_DE@euro" ເພື່ອໃຫ້ສະຖານທີ່ນີ້ຖືກຮັບຮູ້ໂດຍ Xlib.

ແພັກເກັດອື່ນຍັງສາມາດເຮັດວຽກບໍ່ຖືກຕ້ອງ (ແຕ່ອາດຈະບໍ່ຈໍາເປັນສະແດງຂໍ້ຄວາມສະແດງຂໍ້ຜິດພາດໃດໆ) ຖ້າຊື່ທ້ອງຖິ່ນບໍ່ກົງກັບຄວາມຄາດຫວັງຂອງພວກເຂົາ. ໃນກໍລະນີດັ່ງກ່າວ, ການສືບສວນວິທີການແຈກຢາຍ Linux ອື່ນໆສະຫນັບສະຫນູນທ້ອງຖິ່ນຂອງທ່ານອາດຈະສະຫນອງຂໍ້ມູນທີ່ເປັນປະໂຫຍດບາງຢ່າງ.

ເມື່ອການຕັ້ງຄ່າທ້ອງຖິ່ນທີ່ເຫມາະສົມໄດ້ຖືກກໍານົດ, ສ້າງ / etc / profile file:


cat > /etc/profile << "EOF"

# ເລີ່ມຕົ້ນ /etc/profile


ສົ່ງອອກ LANG=_ . <@modifiers>


# ສິ້ນສຸດ /etc/profile

EOF

cat > /etc/profile << "EOF"

# ເລີ່ມຕົ້ນ /etc/profile


ສົ່ງອອກ LANG=_ . <@modifiers>


# ສິ້ນສຸດ /etc/profile

EOF

ທ້ອງຖິ່ນ “C” (ຄ່າເລີ່ມຕົ້ນ) ແລະ “en_US” (ອັນທີ່ແນະນຳສຳລັບຜູ້ໃຊ້ພາສາອັງກິດຂອງສະຫະລັດ) ແມ່ນແຕກຕ່າງກັນ. “C” ໃຊ້ຊຸດຕົວອັກສອນ US-ASCII 7-bit, ແລະປະຕິບັດຕໍ່ bytes ດ້ວຍການຕັ້ງ bit ສູງເປັນຕົວອັກສອນທີ່ບໍ່ຖືກຕ້ອງ. ນັ້ນແມ່ນເຫດຜົນທີ່ວ່າ, ຕົວຢ່າງ, ການ ls ຄໍາສັ່ງທົດແທນພວກມັນດ້ວຍເຄື່ອງຫມາຍຄໍາຖາມຢູ່ໃນທ້ອງຖິ່ນນັ້ນ. ນອກຈາກນີ້, ຄວາມພະຍາຍາມທີ່ຈະສົ່ງອີເມວທີ່ມີຕົວອັກສອນດັ່ງກ່າວຈາກ Mutt ຫຼື Pine ສົ່ງຜົນໃຫ້ຂໍ້ຄວາມທີ່ບໍ່ສອດຄ່ອງກັບ RFC ຈະຖືກສົ່ງ (ຕົວອັກສອນໃນຈົດຫມາຍຂາອອກແມ່ນສະແດງເປັນ "unknown 8-bit"). ດັ່ງນັ້ນທ່ານສາມາດນໍາໃຊ້ "C" locale ພຽງແຕ່ຖ້າທ່ານແນ່ໃຈວ່າທ່ານຈະບໍ່ຕ້ອງການຕົວອັກສອນ 8-bit.


ທ້ອງຖິ່ນທີ່ອີງໃສ່ UTF-8 ບໍ່ໄດ້ຮັບການສະຫນັບສະຫນູນທີ່ດີໂດຍບາງໂຄງການ. ວຽກງານກໍາລັງດໍາເນີນຢູ່ໃນເອກະສານ ແລະ, ຖ້າເປັນໄປໄດ້, ແກ້ໄຂບັນຫາດັ່ງກ່າວ, ເບິ່ງ http://www.linuxfromscratch.org/blfs/view/9.0/introduction/locale-issues.html.


OS Cloud Computing ຍອດນິຍົມຢູ່ OnWorks: