lksh - ອອນລາຍໃນຄລາວ

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

ໂຄງການ:

NAME


lksh - ແກະ Korn ມໍລະດົກທີ່ສ້າງຂຶ້ນໃນ mksh

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


lksh [-+abCefhiklmnprUuvXx] [-+o ເລືອກ] [-c string | -s | ເອກະສານ [ໂຕ້ຖຽງ ...]]

ລາຍລະອຽດ


lksh ເປັນນາຍພາສາຄໍາສັ່ງທີ່ມີຈຸດປະສົງສະເພາະສໍາລັບການແລ່ນສະຄິບ shell ເກົ່າ. ມັນ​ແມ່ນ
ການກໍ່ສ້າງໃນ mksh; ອ້າງອີງໃສ່ໜ້າຄູ່ມືຂອງມັນສຳລັບລາຍລະອຽດກ່ຽວກັບພາສາສະຄຣິບ. ມັນ​ແມ່ນ
ແນະນໍາໃຫ້ພອດສະຄຣິບໄປຫາ mksh ແທນທີ່ຈະອີງໃສ່ມໍລະດົກຫຼື POSIX idiotic ບັງຄັບ
ພຶດຕິກໍາ, ນັບຕັ້ງແຕ່ພາສາຂຽນ MirBSD Korn Shell ແມ່ນສອດຄ່ອງຫຼາຍ.

ໃຫ້ສັງເກດວ່າມັນແນະນໍາໃຫ້ຮຽກຮ້ອງຢ່າງແຂງແຮງ lksh ຢ່າງຫນ້ອຍ -o ບວກ ທາງເລືອກ, ຖ້າບໍ່ແມ່ນ
ທັງນັ້ນ ແລະ -o sh, ເພື່ອໃຫ້ໄດ້ຢ່າງເຕັມສ່ວນຄວາມເຂົ້າກັນໄດ້ດີກວ່າມາດຕະຖານ POSIX (ເຊິ່ງແມ່ນ
ອາດຈະເປັນວ່າເປັນຫຍັງທ່ານໃຊ້ lksh ໃນໄລຍະ mksh ໃນສະຖານທີ່ທໍາອິດ) ຫຼື scripts ມໍລະດົກ, ຕາມລໍາດັບ.

LEGACY MODE


lksh ໃນປັດຈຸບັນມີຄວາມແຕກຕ່າງດັ່ງຕໍ່ໄປນີ້ຈາກ mksh:

· ບໍ່​ມີ​ການ​ສະ​ຫນັບ​ສະ​ຫນູນ​ຢ່າງ​ຊັດ​ເຈນ​ສໍາ​ລັບ​ການ​ນໍາ​ໃຊ້​ການ​ໂຕ້​ຕອບ​, ຫຼື​ການ​ແກ້​ໄຂ​ບັນ​ດາ​ຄໍາ​ສັ່ງ​ຫຼື​
ລະ​ຫັດ​ປະ​ຫວັດ​ສາດ​. ດັ່ງນັ້ນ, lksh ບໍ່ເຫມາະສົມເປັນແກະເຂົ້າສູ່ລະບົບຂອງຜູ້ໃຊ້, ບໍ່ວ່າຈະ; ໃຊ້ mksh
ແທນທີ່ຈະເປັນ.

· ສະຕຣິງ KSH_VERSION ກໍານົດ lksh ເປັນ “LEGACY KSH” ແທນ “MIRBSD KSH”. ຫມາຍ​ເຫດ​
ວ່າສ່ວນທີ່ເຫຼືອຂອງສະຕຣິງຮຸ່ນແມ່ນຄືກັນລະຫວ່າງສອງລົດຊາດຂອງແກະ, ແລະ
ພຶດຕິກໍາແລະຄວາມແຕກຕ່າງສາມາດປ່ຽນແປງລະຫວ່າງສະບັບ; ເບິ່ງໜ້າຄູ່ມືທີ່ມາພ້ອມກັບ
mksh(1) ສໍາລັບສະບັບທີ່ເອກະສານນີ້ໃຊ້ກັບ.

· lksh ໃຊ້ POSIX arithmetics, ເຊິ່ງມີຜົນກະທົບຫຼາຍ: ປະເພດຂໍ້ມູນສໍາລັບ
ເລກຄະນິດສາດເປັນເຈົ້າພາບ ISO C ຍາວ ປະເພດຂໍ້ມູນ. ການລົງລາຍເຊັນ integer wraparound ແມ່ນບໍ່ໄດ້ກໍານົດ
ພຶດຕິກຳ; ນີ້ຫມາຍຄວາມວ່າ ...

$ echo $((2147483647 + 1))

... ແມ່ນ​ອະ​ນຸ​ຍາດ​ໃຫ້​, ເຊັ່ນ​: ລຶບ​ໄຟລ​໌​ທັງ​ຫມົດ​ໃນ​ລະ​ບົບ​ຂອງ​ທ່ານ (ຮູບ​ທີ່​ແຕກ​ຕ່າງ​ກັນ​ສໍາ​ລັບ​ການ​
ລະບົບທີ່ບໍ່ແມ່ນ 32-bit, ກົດລະບຽບບໍ່ໄດ້). ສັນຍານຂອງຜົນໄດ້ຮັບຂອງການດໍາເນີນງານຂອງໂມດູໂລ
ມີ operand ລົບຢ່າງໜ້ອຍໜຶ່ງອັນແມ່ນບໍ່ໄດ້ລະບຸ. Shift ການດໍາເນີນການກ່ຽວກັບຕົວເລກລົບ
ບໍ່ໄດ້ລະບຸ. ການແບ່ງຕົວເລກລົບທີ່ໃຫຍ່ທີ່ສຸດໂດຍ -1 ແມ່ນພຶດຕິກໍາທີ່ບໍ່ໄດ້ກໍານົດ.
compiler ໄດ້ຖືກອະນຸຍາດໃຫ້ລຶບຂໍ້ມູນທັງຫມົດແລະ crash ລະບົບຖ້າຫາກວ່າ Undefined Behavior
ເກີດຂຶ້ນ (ເບິ່ງຂ້າງເທິງສໍາລັບຕົວຢ່າງ).

· lksh ພຽງແຕ່ສະເຫນີຕົວອະທິບາຍໄຟລ໌ແບບດັ້ງເດີມສິບກັບສະຄິບ.

· ໂຕປະຕິບັດການເລກເລກຫມຸນບໍ່ສາມາດໃຊ້ໄດ້.

· ຕົວປະຕິບັດການເລກຄະນິດທີ່ປ່ຽນຈະເອົາບິດທັງໝົດຂອງຕົວປະຕິບັດການທີສອງເຂົ້າໃນບັນຊີ; ຖ້າພວກເຂົາ
ເກີນຄວາມແມ່ນຍໍາທີ່ອະນຸຍາດ, ຜົນໄດ້ຮັບແມ່ນບໍ່ຖືກກໍານົດ.

· GNU bash extension &> ເພື່ອປ່ຽນເສັ້ນທາງ stdout ແລະ stderr ໃນຫນຶ່ງໄປບໍ່ໄດ້ຖືກວິເຄາະ.

· ໄດ້ mksh ທາງເລືອກແຖວຄໍາສັ່ງ -T ແມ່ນບໍ່ມີ.

· ເວັ້ນເສຍແຕ່ວ່າ ທີ່ກໍານົດໄວ້ -o ບວກ ມີການເຄື່ອນໄຫວ, lksh ໃຊ້ໂຫມດແບບດັ້ງເດີມສະເຫມີສໍາລັບການກໍ່ສ້າງເຊັ່ນ:

$ set -- $(get ab:c "$@")
$ echo $?

POSIX ບັງຄັບໃຫ້ສະແດງ 0, ແຕ່ໂຫມດແບບດັ້ງເດີມຜ່ານລະດັບຄວາມຜິດພາດຈາກ
ໄດ້ getopt(1​) ຄໍາ​ສັ່ງ​.

· ແຕກຕ່າງຈາກ AT&T UNIX ksh, mksh in -o ບວກ or -o sh ຮູບແບບແລະ lksh ບໍ່ເກັບໄຟລ໌
ຕົວອະທິບາຍ > 2 ສ່ວນຕົວຈາກຂະບວນການຍ່ອຍ.

· ຫນ້າທີ່ກໍານົດດ້ວຍ ຫນ້າທີ່ ຄໍາທີ່ສະຫງວນໄວ້ແບ່ງປັນທາງເລືອກຂອງແກະ (ທີ່ກໍານົດໄວ້ -o)
ແທນທີ່ຈະກໍານົດຂອບເຂດໃຫ້ເຂົາເຈົ້າ.

ໃຊ້ lksh ອອນໄລນ໌ໂດຍໃຊ້ບໍລິການ onworks.net



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