이제 버그가 있다는 것을 이미 알고 있습니다.하지만 찾을 수 없습니다. 내 코드를 검토하고 잘못된 점을 발견하는 데 도움을 줄 수 있습니까? 오류 메시지는 내가 만든 날짜 함수를 중심으로 회전합니다. 다른 모든 함수는이 코드에서 잘 작동합니다.유닉스 쉘 스크립트의 세그먼트 오류 (코어 덤프) 오류. 버그를 찾는 데 도움이됩니까?
오류 :
[email protected]:~$ ./finalproject.sh -d
Segmentation fault (core dumped)
코드 : 귀하의 date
기능은 실수로 자신을 호출
function check
{
echo "usage: hw14.sh option argument
Please enter one or more options or arguments."
exit
}
function date
{
if [[ $myvar == "-d" ]]
then date "+%d %B,%Y"
fi
}
function host
{
if [[ $myvar == "-h" ]]
then hostname
fi
}
function who
{
if [[ $myvar == "-w" ]]
then whoami
fi
}
function help
{
if [[ $myvar == "-help" ]]
then echo "
valid options:
-d = display today's date in day-month-year format
-h = display name of computer you are currently working on
-w = display who you are logged in as
arguments:
Any argument entered is checked to see if it is a file name
"
fi
}
if [ $# -le 0 ]
then check
fi
for myvar
do
if [[ $myvar == "-"* ]]
then date; host; who; help
fi
done
너희들이 말한 것을 살펴본 후에, 나는 방금 내 기능의 이름을 바꾸었다. 도움을위한 탱크. – user1852516
gdb를 코어 덤프에서 항상 실행하여 프로그램이 충돌하는 곳을 정확히 찾을 수 있습니다 ...이 경우 행복하게 gdb가 필요하지 않습니다. –