ນີ້ແມ່ນຄໍາສັ່ງ pathchkposix ທີ່ສາມາດດໍາເນີນການໄດ້ໃນ OnWorks ຜູ້ໃຫ້ບໍລິການໂຮດຕິ້ງຟຣີໂດຍໃຊ້ຫນຶ່ງໃນສະຖານີເຮັດວຽກອອນໄລນ໌ຟຣີຫຼາຍອັນຂອງພວກເຮົາເຊັ່ນ Ubuntu Online, Fedora Online, Windows online emulator ຫຼື MAC OS online emulator
ໂຄງການ:
NAME
pathchk — ກວດເບິ່ງຊື່ເສັ້ນທາງ
ສະຫຼຸບສັງລວມ
ເສັ້ນທາງ [-ປ] [-ປ] ຊື່ເສັ້ນທາງ...
ລາຍລະອຽດ
ໄດ້ ເສັ້ນທາງ utility ຈະກວດສອບວ່າຫນຶ່ງຫຼືຫຼາຍ pathnames ຖືກຕ້ອງ (ນັ້ນແມ່ນ, ພວກເຂົາເຈົ້າສາມາດ
ຖືກນໍາໃຊ້ເພື່ອເຂົ້າເຖິງຫຼືສ້າງໄຟລ໌ໂດຍບໍ່ມີການເຮັດໃຫ້ເກີດຄວາມຜິດພາດ syntax) ແລະ Portable (ນັ້ນແມ່ນ,
ບໍ່ມີຜົນການຕັດຊື່ໄຟລ໌). ການກວດສອບການ Portability ຢ່າງກວ້າງຂວາງຫຼາຍແມ່ນສະຫນອງໃຫ້ໂດຍ -ປ
ແລະ -ປ ຕົວເລືອກ
ໂດຍຄ່າເລີ່ມຕົ້ນ, the ເສັ້ນທາງ ຜົນປະໂຫຍດຈະຕ້ອງກວດເບິ່ງອົງປະກອບຂອງແຕ່ລະຄົນ ຊື່ເສັ້ນທາງ ປະຕິບັດການອີງໃສ່
ຢູ່ໃນລະບົບໄຟລ໌ພື້ນຖານ. ການວິນິດໄສຈະຕ້ອງຖືກຂຽນໄວ້ສຳລັບແຕ່ລະຄົນ ຊື່ເສັ້ນທາງ Operand
ວ່າ:
* ຍາວກວ່າ {PATH_MAX} ໄບຕ໌ (ເບິ່ງ ຊື່ເສັ້ນທາງ ການປ່ຽນແປງ ມູນຄ່າ ໃນຄໍານິຍາມພື້ນຖານ
ປະລິມານຂອງ POSIX.1-2008, )
* ມີອົງປະກອບໃດນຶ່ງທີ່ຍາວກວ່າ {NAME_MAX} bytes ໃນໄດເຣັກທໍຣີທີ່ບັນຈຸຂອງມັນ
* ປະກອບດ້ວຍອົງປະກອບໃດໆໃນໄດເລກະທໍລີທີ່ບໍ່ສາມາດຄົ້ນຫາໄດ້
* ມີລໍາດັບ byte ທີ່ບໍ່ຖືກຕ້ອງຢູ່ໃນໄດເລກະທໍລີທີ່ບັນຈຸຂອງມັນ
ຮູບແບບຂອງຂໍ້ຄວາມວິນິດໄສບໍ່ໄດ້ລະບຸ, ແຕ່ຈະຊີ້ບອກເຖິງຄວາມຜິດພາດ
ກວດພົບແລະທີ່ສອດຄ້ອງກັນ ຊື່ເສັ້ນທາງ ປະຕິບັດການ.
ມັນຈະບໍ່ຖືກພິຈາລະນາເປັນຄວາມຜິດພາດຖ້າຫາກວ່າອົງປະກອບຫນຶ່ງຫຼືຫຼາຍຂອງ a ຊື່ເສັ້ນທາງ operand ບໍ່
ມີຢູ່ຕາບໃດທີ່ໄຟລ໌ທີ່ກົງກັບຊື່ເສັ້ນທາງທີ່ລະບຸໄວ້ໂດຍອົງປະກອບທີ່ຂາດຫາຍໄປ
ສ້າງຂຶ້ນທີ່ບໍ່ໄດ້ລະເມີດການກວດສອບໃດໆທີ່ລະບຸໄວ້ຂ້າງເທິງ.
OPTIONS
ໄດ້ ເສັ້ນທາງ ຜົນປະໂຫຍດຈະຕ້ອງສອດຄ່ອງກັບປະລິມານຄໍານິຍາມພື້ນຖານຂອງ POSIX.1-2008, ສ່ວນ
12.2, ຜົນປະໂຫຍດ syntax ຄູ່ມືແນະນໍາ.
ທາງເລືອກຕໍ່ໄປນີ້ຈະໄດ້ຮັບການສະຫນັບສະຫນູນ:
-ປ ແທນທີ່ຈະດໍາເນີນການກວດສອບໂດຍອີງໃສ່ລະບົບໄຟລ໌ທີ່ຕິດພັນ, ຂຽນ a
ການວິນິດໄສສໍາລັບແຕ່ລະຄົນ ຊື່ເສັ້ນທາງ ດໍາເນີນການວ່າ:
* ຍາວກວ່າ {_POSIX_PATH_MAX} ໄບຕ໌ (ເບິ່ງ ຂັ້ນຕ່ໍາ ມູນຄ່າ ຢູ່ໃນຖານ
ປະລິມານຄໍານິຍາມຂອງ POSIX.1-2008, )
* ມີອົງປະກອບໃດນຶ່ງທີ່ຍາວກວ່າ {_POSIX_NAME_MAX} ໄບຕ໌
* ປະກອບດ້ວຍຕົວອັກສອນໃດນຶ່ງໃນອົງປະກອບໃດນຶ່ງທີ່ບໍ່ໄດ້ຢູ່ໃນຊື່ໄຟລ໌ແບບເຄື່ອນທີ່
ຊຸດຕົວອັກສອນ
-ປ ຂຽນການວິນິດໄສສໍາລັບແຕ່ລະຄົນ ຊື່ເສັ້ນທາງ ດໍາເນີນການວ່າ:
* ປະກອບດ້ວຍອົງປະກອບທີ່ມີລັກສະນະທໍາອິດ ລັກສະນະ
* ຫວ່າງເປົ່າ
ດໍາເນີນງານ
operand ຕໍ່ໄປນີ້ຈະໄດ້ຮັບການສະຫນັບສະຫນູນ:
ຊື່ເສັ້ນທາງ ຊື່ເສັ້ນທາງທີ່ຈະກວດສອບ.
STDIN
ບໍ່ໄດ້ນໍາໃຊ້.
ປັດໄຈນໍາເຂົ້າ ເອກະສານ
ບໍ່ມີ.
ENVIRONMENT ຄວາມຮັບຜິດຊອບ
ຕົວແປສະພາບແວດລ້ອມຕໍ່ໄປນີ້ຈະສົ່ງຜົນກະທົບຕໍ່ການປະຕິບັດ ເສັ້ນທາງ:
ພາສາ ໃຫ້ຄ່າເລີ່ມຕົ້ນສໍາລັບຕົວແປສາກົນທີ່ບໍ່ໄດ້ຕັ້ງ ຫຼື
null. (ເບິ່ງປະລິມານຄໍານິຍາມພື້ນຖານຂອງ POSIX.1-2008, ສ່ວນ 8.2,
Internationalization Variables ກ່ອນໜ້າຂອງຕົວແປສາກົນ
ໃຊ້ເພື່ອກໍານົດຄ່າຂອງປະເພດທ້ອງຖິ່ນ.)
LC_ALL ຖ້າຕັ້ງເປັນຄ່າສະຕຣິງທີ່ບໍ່ຫວ່າງເປົ່າ, ລົບລ້າງຄ່າຂອງອັນອື່ນທັງໝົດ
ຕົວແປສາກົນ.
LC_CTYPE ກໍານົດທ້ອງຖິ່ນສໍາລັບການຕີຄວາມລໍາດັບຂອງ bytes ຂອງຂໍ້ມູນຂໍ້ຄວາມ
ເປັນຕົວອັກສອນ (ຕົວຢ່າງ, single-byte ກົງກັນຂ້າມກັບ multi-byte ຕົວອັກສອນໃນ
ການໂຕ້ຖຽງ).
LC_MESSAGES
ກໍານົດທ້ອງຖິ່ນທີ່ຄວນຈະຖືກນໍາໃຊ້ເພື່ອຜົນກະທົບຕໍ່ຮູບແບບແລະເນື້ອໃນຂອງ
ຂໍ້ຄວາມການວິນິໄສທີ່ຂຽນເປັນຄວາມຜິດພາດມາດຕະຖານ.
NLSPATH ກໍານົດສະຖານທີ່ຂອງລາຍການຂໍ້ຄວາມສໍາລັບການປະມວນຜົນຂອງ LC_MESSAGES.
ASYNCHRONOUS ເຫດການ
ເລີ່ມຕົ້ນ.
STDOUT
ບໍ່ໄດ້ນໍາໃຊ້.
ສະດຸດ
ຄວາມຜິດພາດມາດຕະຖານຈະຖືກນໍາໃຊ້ສໍາລັບຂໍ້ຄວາມວິນິດໄສເທົ່ານັ້ນ.
OUTPUT ເອກະສານ
ບໍ່ມີ.
ອະທິບາຍ ລາຍລະອຽດ
ບໍ່ມີ.
ອອກ STATUS
ຄ່າທາງອອກຕໍ່ໄປນີ້ຈະຖືກສົ່ງຄືນ:
0 ທັງ ໝົດ ຊື່ເສັ້ນທາງ operands ຜ່ານການກວດສອບທັງຫມົດ.
>0 ເກີດຄວາມຜິດພາດຂຶ້ນ.
ຂໍ້ສັງເກດ OF ຄວາມຜິດພາດ
ເລີ່ມຕົ້ນ.
ໄດ້ ດັ່ງຕໍ່ໄປນີ້ ພາກສ່ວນ ມີ ຂໍ້ມູນ.
ຄໍາຮ້ອງສະຫມັກ ການນໍາໃຊ້
ໄດ້ ການທົດສອບ ຜົນປະໂຫຍດສາມາດຖືກນໍາໃຊ້ເພື່ອກໍານົດວ່າຊື່ເສັ້ນທາງທີ່ໃຫ້ຊື່ເປັນໄຟລ໌ທີ່ມີຢູ່ແລ້ວ;
ແນວໃດກໍ່ຕາມ, ມັນບໍ່ໄດ້ໃຫ້ຕົວຊີ້ບອກເຖິງອົງປະກອບຂອງຊື່ເສັ້ນທາງຫຼືບໍ່
ຖືກຕັດຢູ່ໃນໄດເລກະທໍລີທີ່ຄຸນສົມບັດ _POSIX_NO_TRUNC ບໍ່ມີຜົນ. ໄດ້
ເສັ້ນທາງ ຜົນປະໂຫຍດບໍ່ໄດ້ກວດສອບການມີຢູ່ຂອງໄຟລ໌; ມັນດໍາເນີນການກວດສອບເພື່ອກໍານົດວ່າ
ຊື່ເສັ້ນທາງມີຢູ່ ຫຼືສາມາດສ້າງໄດ້ໂດຍບໍ່ມີການຕັດອົງປະກອບຂອງຊື່ເສັ້ນທາງ.
ໄດ້ noclobber ທາງເລືອກໃນແກະ (ເບິ່ງ ທີ່ກໍານົດໄວ້ ພິເສດໃນຕົວ) ສາມາດຖືກນໍາໃຊ້ເພື່ອປະລໍາມະນູ
ສ້າງໄຟລ໌. ເຊັ່ນດຽວກັນກັບ semantics ການສ້າງໄຟລ໌ທັງຫມົດທີ່ຢູ່ໃນປະລິມານຂອງ Interfaces ລະບົບ
POSIX.1-2008, ມັນຮັບປະກັນການສ້າງປະລໍາມະນູ, ແຕ່ຍັງຂຶ້ນກັບຄໍາຮ້ອງສະຫມັກທີ່ຈະຕົກລົງ
ສົນທິສັນຍາແລະການຮ່ວມມືການນໍາໃຊ້ໄຟລ໌ຫຼັງຈາກທີ່ພວກເຂົາເຈົ້າໄດ້ຮັບການສ້າງຕັ້ງ.
ເພື່ອກວດສອບວ່າຊື່ເສັ້ນທາງຕອບສະຫນອງຄວາມຕ້ອງການຂອງການ Portable ຊື່ໄຟລ໌, ຄໍາຮ້ອງສະຫມັກ
ຄວນໃຊ້ທັງສອງ -ປ ແລະ -ປ ທາງເລືອກຮ່ວມກັນ.
ຕົວຢ່າງ
ເພື່ອກວດສອບວ່າຊື່ເສັ້ນທາງທັງຫມົດໃນການເກັບຮັກສາ interchange ຂໍ້ມູນທີ່ນໍາເຂົ້າແມ່ນຖືກຕ້ອງແລະ
unambiguous ກ່ຽວກັບລະບົບປະຈຸບັນ:
# ນີ້ ຍົກຕົວຢ່າງ ສົມມຸດ ທີ່ no ຊື່ເສັ້ນທາງ in ໄດ້ ເກັບ
# ບັນຈຸ ລັກສະນະ.
pax -f ເກັບ | sed −e 's/[^[:alnum:]]/\\&/g' | xargs ເສັ້ນທາງ −−
if [ $? −eq 0 ]
ຫຼັງຈາກນັ້ນ
pax -r -f ເກັບ
ອື່ນ
echo ສືບສວນ ບັນຫາ ກ່ອນທີ່ຈະ ການນໍາເຂົ້າ ໄຟລ໌.
ການທ່ອງທ່ຽວ 1
fi
ເພື່ອກວດສອບວ່າໄຟລ໌ທັງຫມົດໃນລໍາດັບຂອງລະບົບປະຈຸບັນສາມາດຖືກຍ້າຍໄປລະບົບໃດຫນຶ່ງ
ສອດຄ່ອງກັບປະລິມານສ່ວນຕິດຕໍ່ລະບົບຂອງ POSIX.1-2008 ທີ່ຍັງສະຫນັບສະຫນູນ pax
ຜົນປະໂຫຍດ:
ຊອກຫາ . -exec ເສັ້ນທາງ -ປ -ປ {} +
if [ $? −eq 0 ]
ຫຼັງຈາກນັ້ນ
pax −ວ -f ../archive .
ອື່ນ
echo Portable ເກັບ ບໍ່ສາມາດເຮັດໄດ້ be ສ້າງຂື້ນ.
ການທ່ອງທ່ຽວ 1
fi
ເພື່ອກວດສອບວ່າຊື່ເສັ້ນທາງທີ່ຜູ້ໃຊ້ສະໜອງໃຫ້ຕັ້ງຊື່ໄຟລ໌ທີ່ສາມາດອ່ານໄດ້ ແລະແອັບພລິເຄຊັນສາມາດ
ສ້າງໄຟລ໌ຂະຫຍາຍເສັ້ນທາງທີ່ໃຫ້ໂດຍບໍ່ມີການຕັດ ແລະໂດຍບໍ່ມີການຂຽນທັບໃດໆ
ໄຟລ໌ທີ່ມີຢູ່ແລ້ວ:
ກໍລະນີ $− in
*C*) reset="";
*) reset="ຕັ້ງ +C"
ທີ່ກໍານົດໄວ້ −C ;
ວ່າ C
ການທົດສອບ -r "$path" && ເສັ້ນທາງ "$path.out" &&
rm "$path.out" > "$path.out"
if [ $? − ບໍ່ 0 ]; ຫຼັງຈາກນັ້ນ
printf "%s: %s ບໍ່ ພົບເຫັນ or %s.out ຂໍ້ເທັດຈິງ \
ການສ້າງ ກວດສອບ.\n" $0 "$path$path"
$reset # ຕັ້ງຄ່າ ໄດ້ noclobber ທາງເລືອກ in ກໍລະນີ a ຈັ່ນຈັບ
# on ອອກ ຂຶ້ນຢູ່ກັບ on ມັນ.
ການທ່ອງທ່ຽວ 1
fi
$reset
ຂະບວນການ < "$path" > "$path.out"
ການສົມມຸດຕິຖານຕໍ່ໄປນີ້ແມ່ນເຮັດຢູ່ໃນຕົວຢ່າງນີ້:
1. ຂະບວນການ ເປັນຕົວແທນຂອງລະຫັດທີ່ຖືກນໍາໃຊ້ໂດຍຄໍາຮ້ອງສະຫມັກທີ່ຈະນໍາໃຊ້ $path ເມື່ອມັນເປັນ
ກວດສອບວ່າ $path.out ເຮັດວຽກຕາມຈຸດປະສົງ.
2. ລັດຂອງ noclobber ທາງເລືອກແມ່ນບໍ່ຮູ້ເມື່ອລະຫັດນີ້ຖືກເອີ້ນ ແລະຄວນຈະເປັນ
ຕັ້ງຢູ່ເທິງທາງອອກໄປສູ່ສະຖານະທີ່ມັນຢູ່ໃນເວລາທີ່ລະຫັດນີ້ຖືກເອີ້ນ. (ໄດ້ reset ຕົວແປແມ່ນ
ໃຊ້ໃນຕົວຢ່າງນີ້ເພື່ອຟື້ນຟູສະຖານະເບື້ອງຕົ້ນ.)
3. ສັງເກດການນໍາໃຊ້ຂອງ:
rm "$path.out" > "$path.out"
ກ. ທ ເສັ້ນທາງ ຄໍາສັ່ງໄດ້ຢືນຢັນແລ້ວ, ໃນຈຸດນີ້, ວ່າ $path.out ບໍ່ແມ່ນ
ຖືກຕັດອອກ.
ຂ. ກັບ noclobber ທາງເລືອກທີ່ຕັ້ງໄວ້, shell ກວດສອບວ່າ $path.out ບໍ່ແລ້ວ
ມີຢູ່ກ່ອນທີ່ຈະເອີ້ນ rm.
ຄ. ຖ້າແກະປະສົບຜົນສໍາເລັດໃນການສ້າງ $path.out, rm ເອົາມັນອອກເພື່ອວ່າ
ຄໍາຮ້ອງສະຫມັກສາມາດສ້າງໄຟລ໌ອີກເທື່ອຫນຶ່ງໃນ ຂະບວນການ ຂັ້ນຕອນ
ງ. ຖ້າ ຂະບວນການ ຂັ້ນຕອນຕ້ອງການໄຟລ໌ທີ່ມີຢູ່ແລ້ວໃນເວລາທີ່ມັນໄດ້ຖືກຮຽກຮ້ອງ, ໄດ້:
rm "$path.out" > "$path.out"
ຄວນຖືກແທນທີ່ດ້ວຍ:
> "$path.out"
ເຊິ່ງຢັ້ງຢືນວ່າໄຟລ໌ບໍ່ມີຢູ່ແລ້ວ, ແຕ່ອອກ $path.out ໃນສະຖານທີ່
ສໍາລັບການນໍາໃຊ້ໂດຍ ຂະບວນການ.
ສະຖານທີ່
ໄດ້ ເສັ້ນທາງ ຜົນປະໂຫຍດແມ່ນໃຫມ່ສໍາລັບມາດຕະຖານ ISO POSIX-2: 1993. ມັນ, ຄຽງຄູ່ກັບການ ທີ່ກໍານົດໄວ້
−ຄ(noclobber) ທາງເລືອກທີ່ເພີ່ມເຂົ້າໄປໃນແກະ, ທົດແທນການ mktemp, validfnam, ແລະ ສ້າງ
ຜົນປະໂຫຍດທີ່ປາກົດຢູ່ໃນການສະເຫນີເບື້ອງຕົ້ນ. ຜົນປະໂຫຍດທັງຫມົດເຫຼົ່ານີ້ແມ່ນຄວາມພະຍາຍາມທີ່ຈະແກ້ໄຂ
ບັນຫາທົ່ວໄປຈໍານວນຫນຶ່ງ:
* ກວດສອບຄວາມຖືກຕ້ອງ (ສໍາລັບຄໍານິຍາມທີ່ແຕກຕ່າງກັນຫຼາຍຂອງ ``valid´) ຂອງຊື່ເສັ້ນທາງ
ສະໜອງໃຫ້ໂດຍຜູ້ໃຊ້, ສ້າງຂຶ້ນໂດຍແອັບພລິເຄຊັນ, ຫຼືນໍາເຂົ້າມາຈາກແຫຼ່ງພາຍນອກ.
* ປະລໍາມະນູສ້າງໄຟລ໌.
* ປະຕິບັດຫນ້າທີ່ການຈັດການຊ່ອຍແນ່ຕ່າງໆເພື່ອສ້າງຊື່ໄຟລ໌ຊົ່ວຄາວ.
ໄດ້ ສ້າງ ຜົນປະໂຫຍດ, ລວມຢູ່ໃນການສະເຫນີເບື້ອງຕົ້ນ, ສະຫນອງການກວດສອບແລະການສ້າງປະລໍາມະນູ
ໃນ invocation ດຽວຂອງຜົນປະໂຫຍດ; ເຫຼົ່ານີ້ແມ່ນບັນຫາ orthogonal ແລະບໍ່ຈໍາເປັນຕ້ອງເປັນກຸ່ມ
ເຂົ້າໄປໃນຜົນປະໂຫຍດອັນດຽວ. ໃຫ້ສັງເກດວ່າ noclobber ທາງເລືອກຍັງສະຫນອງວິທີການຂອງການສ້າງເປັນ
lock ສໍາລັບ synchronization ຂະບວນການ; ເນື່ອງຈາກວ່າມັນສະຫນອງປະລໍາມະນູ ສ້າງ, ບໍ່ມີເຊື້ອຊາດ
ລະຫວ່າງການທົດສອບການມີຢູ່ແລະການສ້າງຕໍ່ໄປນີ້ຖ້າມັນບໍ່ມີ.
ມີຫນ້າທີ່ຄ້າຍຄື tmpnam() ໃນມາດຕະຖານ ISO C ແມ່ນມີຄວາມສໍາຄັນໃນຫຼາຍລະດັບສູງ
ພາສາ. ຢ່າງໃດກໍຕາມ, ພາສາການຂຽນໂປລແກລມ shell ມີການຫມູນໃຊ້ສະຕຣິງໃນຕົວ
ສິ່ງອໍານວຍຄວາມສະດວກ, ເຮັດໃຫ້ມັນງ່າຍຫຼາຍທີ່ຈະສ້າງຊື່ໄຟລ໌ຊົ່ວຄາວ. ຊື່ທີ່ຕ້ອງການ
ແນ່ນອນແມ່ນຂຶ້ນກັບຄໍາຮ້ອງສະຫມັກ, ແຕ່ມັກຈະມີຮູບແບບທີ່ຄ້າຍຄືກັນກັບ:
$TMPDIR/application_abbreviation$$.បច្ច័យ
ໃນກໍລະນີທີ່ມີແນວໂນ້ມທີ່ຈະມີການໂຕ້ຖຽງກັນສໍາລັບການຕໍ່ທ້າຍທີ່ໃຫ້, ເປັນແກະງ່າຍດາຍ ສໍາລັບການ or
ໃນຂະນະທີ່ loop ສາມາດຖືກນໍາໃຊ້ກັບ shell ໄດ້ noclobber ທາງເລືອກໃນການສ້າງໄຟລ໌ໂດຍບໍ່ມີຄວາມສ່ຽງ
collisions, ຕາບໃດທີ່ຄໍາຮ້ອງສະຫມັກທີ່ພະຍາຍາມໃຊ້ຊ່ອງຊື່ໄຟລ໌ດຽວກັນ
ການຮ່ວມມືໃນການນໍາໃຊ້ໄຟລ໌ຫຼັງຈາກທີ່ພວກເຂົາເຈົ້າໄດ້ຮັບການສ້າງຕັ້ງ.
ສໍາລັບຈຸດປະສົງປະຫວັດສາດ, -ປ ບໍ່ໄດ້ກວດສອບການນໍາໃຊ້ຂອງ ລັກສະນະເປັນ
ຕົວອັກສອນທໍາອິດໃນອົງປະກອບຂອງຊື່ເສັ້ນທາງ, ຫຼືສໍາລັບຫວ່າງເປົ່າ ຊື່ເສັ້ນທາງ ປະຕິບັດການ.
ອະນາຄົດ DIRECTIONS
ບໍ່ມີ.
ໃຊ້ pathchkposix ອອນໄລນ໌ໂດຍໃຊ້ບໍລິການ onworks.net