10 ຄຳ ຖາມ ສຳ ພາດທີ່ມີປະໂຫຍດແລະ ຄຳ ຕອບໃນ Linux Shell Scripting


ຊົມເຊີຍວັນ. ຄວາມກວ້າງໃຫຍ່ຂອງ Linux ເຮັດໃຫ້ມັນສາມາດສະ ເໜີ ບົດຄວາມທີ່ເປັນເອກະລັກໄດ້ທຸກໆຄັ້ງ. ພວກເຮົາ ‘The-Tecmint-Team’ ເຮັດວຽກເພື່ອໃຫ້ຜູ້ອ່ານຂອງພວກເຮົາມີເນື້ອໃນທີ່ເປັນເອກະລັກເຊິ່ງເປັນປະໂຫຍດແກ່ພວກເຂົາຈາກມຸມມອງອາຊີບພ້ອມທັງເພີ່ມພື້ນຖານຄວາມຮູ້. ນີ້ແມ່ນຄວາມພະຍາຍາມແລະມັນແມ່ນຢູ່ກັບຜູ້ອ່ານຂອງພວກເຮົາທີ່ຈະຕັດສິນວ່າພວກເຮົາປະສົບຜົນ ສຳ ເລັດຫຼາຍປານໃດ.

ພວກເຮົາມີ ຄຳ ແນະ ນຳ ຫຼາຍຢ່າງກ່ຽວກັບພາສາ Shell Scripting ແລະ ຄຳ ຖາມ ສຳ ພາດ ສຳ ລັບຜູ້ອ່ານທຸກປະເພດ, ນີ້ແມ່ນລິ້ງເຊື່ອມຕໍ່ກັບບົດຄວາມເຫຼົ່ານັ້ນ.

<

  • ຊຸດສະຄິບ Shell
  • ສຳ ພາດຊຸດ ຄຳ ຖາມແລະຕອບ ຄຳ ຖາມ
  • ເພີ່ມໃສ່ກະທູ້ຫອຍນາງລົມທີ່ນີ້, ໃນບົດຄວາມນີ້ພວກເຮົາຈະຜ່ານ ຄຳ ຖາມທີ່ກ່ຽວຂ້ອງກັບ Linux Shell ຈາກຈຸດ ສຳ ພາດ.

    ຍົກຕົວຢ່າງ, ສ້າງສະຄິບແກະຕໍ່ໄປນີ້ວ່າ 'ຫຍັງ.

    #!/bin/bash
    echo "Hello"
    exit -1
    echo "bye"

    ບັນທຶກເອກະສານແລະປະຕິບັດມັນ.

    # sh anything.sh
    
    Hello
    exit.sh: 3: exit: Illegal number: -1

    ຈາກບົດຂຽນຂ້າງເທິງ, ມັນຈະແຈ້ງວ່າການປະຕິບັດໄດ້ດີກ່ອນທີ່ຈະອອກຈາກ ຄຳ ສັ່ງ -1.

    ນີ້ມັນແມ່ນ ຄຳ ສັ່ງທີ່ແນ່ນອນທີ່ຈະເອົາຫົວຂໍ້ອອກຈາກແຟ້ມ (ຫລືແຖວ ທຳ ອິດຂອງເອກະສານ).

    # sed '1 d' file.txt

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

    # sed '1 d' file.txt > new_file.txt

    ດີກໍ່ສ້າງຢູ່ໃນສະຫຼັບ '-i' ສໍາລັບຄໍາສັ່ງ sed, ສາມາດປະຕິບັດການດໍາເນີນງານນີ້ໂດຍບໍ່ມີການປະຕິບັດການປ່ຽນເສັ້ນທາງ.

    # sed -i '1 d' file.txt

    A "ບໍ່ຢູ່ໃນແຟ້ມເອກະສານ file.txt, ບ່ອນທີ່" ໝາຍ ເຖິງຕົວເລກສາຍແລະ 'ພິມ' ເນື້ອທີ່ອອກຈາກຮູບ (ຕາມຜົນຜະລິດມາດຕະຖານ). ຄຳ ສັ່ງນີ້ມັກຈະຖືກ ນຳ ໃຊ້ໂດຍສົມທົບກັບຕົວເລືອກເສັ້ນ ຄຳ ສັ່ງ -n. ດັ່ງນັ້ນ, ເຮັດແນວໃດເພື່ອໃຫ້ມີຄວາມຍາວນັບ? ເຫັນໄດ້ແຈ້ງ! ພວກເຮົາ ຈຳ ເປັນຕ້ອງໄດ້ສົ່ງຜົນຜະລິດອອກດ້ວຍ ຄຳ ສັ່ງ 'wc'.

    # sed –n 'n p' file.txt | wc –c

    ເພື່ອໃຫ້ໄດ້ຄວາມຍາວຂອງເສັ້ນ ໝາຍ ເລກ '5' ໃນເອກະສານຂໍ້ຄວາມ 'tecmint.txt', ພວກເຮົາ ຈຳ ເປັນຕ້ອງ ດຳ ເນີນການ.

    # sed -n '5 p' tecmint.txt | wc -c

    ວິທີການສະແດງຕົວອັກສອນທີ່ບໍ່ສາມາດພິມອອກໄດ້ໃນບັນນາທິການ 'vi'?

    <

  • ເປີດບັນນາທິການ vi.
  • ໄປທີ່ໂຫມດ vi ຂອງບັນນາທິການ vi ໂດຍກົດ [esc] ຕາມດ້ວຍ ':'.
  • ຂັ້ນຕອນສຸດທ້າຍແມ່ນການພິມ ຄຳ ສັ່ງ execute [set list], ຈາກການໂຕ້ຕອບ ຄຳ ສັ່ງຂອງ 'vi' ບັນນາທິການ.
  • ໝາຍ ເຫດ: ວິທີນີ້ພວກເຮົາສາມາດເຫັນທຸກຕົວອັກສອນທີ່ບໍ່ສາມາດພິມອອກໄດ້ຈາກເອກະສານຂໍ້ຄວາມລວມທັງ ctrl+m (^M).

    # mkdir dir_xyz
    # chmod g+wx dir_xyz
    # chmod +t dir_xyz

    ຄໍາສັ່ງເສັ້ນທໍາອິດສ້າງໄດເລກະທໍລີ (dir_xyz). ເສັ້ນ ຄຳ ສັ່ງທີສອງຢູ່ຂ້າງເທິງເຮັດໃຫ້ກຸ່ມ (g) ມີສິດອະນຸຍາດໃຫ້ 'ຂຽນ' ແລະ 'ປະຕິບັດ' ແລະແຖວສຸດທ້າຍຂອງ ຄຳ ສັ່ງຂ້າງເທິງ - ການສິ້ນສຸດການອະນຸຍາດເອີ້ນວ່າ 'ບິດຫນຽວ'. ມັນປ່ຽນແທນ ‘x’ ແລະຊີ້ໃຫ້ເຫັນວ່າໃນໄດເລກະທໍລີນີ້, ໄຟລ໌ສາມາດຖືກລຶບໂດຍເຈົ້າຂອງຂອງມັນ, ເຈົ້າຂອງໄດເລກະທໍລີຫລືຜູ້ຂຽນຂໍ້ມູນຮາກເທົ່ານັ້ນ.

    ນີ້ແມ່ນ 4 ຂັ້ນຕອນຂອງຂະບວນການ Linux.

    <

  • ລໍຖ້າ: ຂະບວນການ Linux ກຳ ລັງລໍຖ້າຊັບພະຍາກອນຢູ່.
  • ແລ່ນ: ຂະບວນການ Linux ກຳ ລັງຖືກ ດຳ ເນີນການ.
  • ຖືກຢຸດ: ຂັ້ນຕອນ Linux ຖືກຢຸດຫຼັງຈາກການປະຕິບັດຢ່າງປະສົບຜົນ ສຳ ເລັດຫຼືຫຼັງຈາກໄດ້ຮັບສັນຍານການຂ້າ.
  • ຜີດິບ: ຂັ້ນຕອນຖືກບອກວ່າເປັນ 'Zombie' ຖ້າມັນຢຸດແຕ່ຍັງເຄື່ອນໄຫວຢູ່ໃນຕາຕະລາງປະມວນຜົນ.
  • ຍົກຕົວຢ່າງ, ສະກັດ 10 ຄໍ ລຳ ທຳ ອິດຂອງເອກະສານຂໍ້ຄວາມ ‘txt_tecmint‘.

    # cut -c1-10 txt_tecmint

    ເພື່ອສະກັດຖັນທີ 2, 5 ແລະ 7 ຂອງເອກະສານຂໍ້ຄວາມດຽວກັນ.

    # cut -d;-f2 -f5 -f7 txt_tecmint

    ຄຳ ສັ່ງ“ ແຕກຕ່າງກັນ ’ລາຍງານການປ່ຽນແປງທີ່ຄວນຈະເຮັດເພື່ອໃຫ້ທັງສອງເອກະສານເບິ່ງຄືກັນ. ໃນຂະນະທີ່ ຄຳ ສັ່ງ 'cmp' ປຽບທຽບສອງເອກະສານ byte-byte ແລະລາຍງານຄວາມຜິດພາດຄັ້ງ ທຳ ອິດ.

    ດຽວນີ້ ໝົດ ແລ້ວ. ພວກເຮົາຈະມາ ນຳ ສະ ເໜີ ຄຳ ຖາມ ສຳ ພາດອື່ນໆທີ່ ໜ້າ ສົນໃຈແລະມີຄວາມຮູ້, ໃນບົດຄວາມຕໍ່ໄປ. Till ຫຼັງຈາກນັ້ນ Stay tuned ແລະເຊື່ອມຕໍ່ກັບ linux-console.net. ຢ່າລືມໃຫ້ພວກເຮົາມີ ຄຳ ຕິຊົມທີ່ມີຄຸນຄ່າຂອງທ່ານໃນສ່ວນ ຄຳ ເຫັນຂ້າງລຸ່ມນີ້.