ตามข้อตกลง กำหนดค่า
เป็นเชลล์สคริปต์ POSIX ที่สร้างขึ้นจากไฟล์ configuration.ac
หรือ กำหนดค่าใน
ไฟล์เทมเพลตโดย GNU คอนเฟิร์มอัตโนมัติ
โปรแกรม - ทั้งในขณะติดตั้งหรือก่อนแจกจ่ายโดยผู้ดูแลซอฟต์แวร์
ข้อความแสดงข้อผิดพลาด
กำหนดค่า: ข้อผิดพลาด: ไม่สามารถระบุไดเร็กทอรีการทำงานได้
มาจากมาโคร autoconf มาตรฐานชื่อ _AC_INIT_DIRCHECK
และกำหนดไว้ใน /usr/share/autoconf/autoconf/general.m4
:
AC_DEFUN([_AC_INIT_DIRCHECK],
[m4_divert_push([PARSE_ARGS])dnl
ac_pwd=`pwd` && ทดสอบ -n "$ac_pwd" &&
ac_ls_di=`ls -di .` &&
ac_pwd_ls_di=`cd "$ac_pwd" && ls -di .` ||
AC_MSG_ERROR([ไม่สามารถระบุไดเร็กทอรีการทำงาน])
ทดสอบ "X$ac_ls_di" = "X$ac_pwd_ls_di" ||
AC_MSG_ERROR([pwd ไม่รายงานชื่อไดเร็กทอรีการทำงาน])
คุณอาจพบข้อมูลโดยละเอียดเพิ่มเติมเกี่ยวกับสาเหตุของข้อผิดพลาดใน config.log
ไฟล์. หรือคุณสามารถเรียกใช้โค้ดเดียวกันในเชลล์ POSIX แบบไม่โต้ตอบได้ดังนี้:
/bin/sh -c '
ac_pwd=`pwd` && ทดสอบ -n "$ac_pwd" &&
ac_ls_di=`ls -di .` && ac_pwd_ls_di=`cd "$ac_pwd" && ls -di .`
'
ก้อง $?
หรือแบ่งเป็นส่วนๆ เช่น
/bin/sh -c 'ac_pwd=`pwd` && ทดสอบ -n "$ac_pwd"'; ก้อง $?
ความเป็นไปได้อย่างหนึ่งสำหรับความล้มเหลวคือไดเร็กทอรีการทำงานไม่มีการตั้งค่าบิตที่เรียกใช้งานได้:
$ chmod -x .
$ /bin/sh -c '
ac_pwd=`pwd` && ทดสอบ -n "$ac_pwd" &&
ac_ls_di=`ls -di .` && ac_pwd_ls_di=`cd "$ac_pwd" && ls -di .`
'
/bin/sh: 1: cd: ไม่สามารถ cd ไปยัง /home/steeldriver/src/unrealircd