ວິທີການ ກຳ ນົດຜົນໄດ້ຮັບຂອງ Linux Command ໃຫ້ຕົວປ່ຽນແປງ


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

ໃນບົດຂຽນນີ້, ພວກເຮົາຈະທົບທວນວິທີການທີ່ແຕກຕ່າງກັນໃນການມອບ ໝາຍ ຜົນຜະລິດຂອງ ຄຳ ສັ່ງ shell ໃຫ້ເປັນຕົວປ່ຽນແປງ, ມີປະໂຫຍດໂດຍສະເພາະ ສຳ ລັບຈຸດປະສົງການຂຽນ ໜັງ ສື.

ເພື່ອເກັບຮັກສາຜົນຜະລິດຂອງ ຄຳ ສັ່ງໃນຕົວແປ, ທ່ານສາມາດໃຊ້ຄຸນສົມບັດການປ່ຽນແທນ ຄຳ ສັ່ງຫອຍໃນແບບຟອມລຸ່ມນີ້:

variable_name=$(command)
variable_name=$(command [option ...] arg1 arg2 ...)
OR
variable_name='command'
variable_name='command [option ...] arg1 arg2 ...'

ຂ້າງລຸ່ມນີ້ແມ່ນບາງຕົວຢ່າງຂອງການໃຊ້ ຄຳ ສັ່ງທົດແທນ.

ໃນຕົວຢ່າງ ທຳ ອິດນີ້, ພວກເຮົາຈະເກັບຄ່າຂອງລະຫັດ ຜູ້ທີ່ (ເຊິ່ງສະແດງໃຫ້ເຫັນວ່າໃຜຖືກບັນທຶກລະບົບ) ຄຳ ສັ່ງໃນຕົວປ່ຽນແປງ CURRENT_USERS ຜູ້ໃຊ້:

$ CURRENT_USERS=$(who)

ຈາກນັ້ນພວກເຮົາສາມາດໃຊ້ຕົວແປໃນປະໂຫຍກທີ່ສະແດງໂດຍໃຊ້ ຄຳ ສັ່ງແອັກໂກ້ດັ່ງນັ້ນ:

$ echo -e "The following users are logged on the system:\n\n $CURRENT_USERS"

ໃນ ຄຳ ສັ່ງຂ້າງເທິງ: ທຸງ -e ໝາຍ ຄວາມວ່າຕີຄວາມ ລຳ ດັບ ໜີ ໃດໆ (ເຊັ່ນ: <ລະຫັດຜ່ານ\n ສຳ ລັບເສັ້ນ ໃໝ່) ທີ່ຖືກ ນຳ ໃຊ້. ເພື່ອຫລີກລ້ຽງການສູນເສຍເວລາແລະຄວາມຊົງ ຈຳ, ພຽງແຕ່ເຮັດການປ່ຽນແທນ ຄຳ ສັ່ງພາຍໃນ ຄຳ ສັ່ງຂອງແອັກໂກ້ດັ່ງຕໍ່ໄປນີ້:

$ echo -e "The following users are logged on the system:\n\n $(who)"

ຕໍ່ໄປ, ເພື່ອສະແດງແນວຄວາມຄິດໂດຍໃຊ້ຮູບແບບທີສອງ; ພວກເຮົາສາມາດເກັບ ຈຳ ນວນແຟ້ມທັງ ໝົດ ໃນໄດເລກະທໍລີເຮັດວຽກໃນປະຈຸບັນໃນຕົວແປທີ່ເອີ້ນວ່າ FILES ແລະແອັກໂກ້ດັ່ງຕໍ່ໄປນີ້

$ FILES=`sudo find . -type f -print | wc -l`
$ echo "There are $FILES in the current working directory."

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