존재하다이 문제사용자에게 "찾을 수 없음" 오류가 표시됩니다. 오류는 "명령을 찾을 수 없음"이 아니라 "찾을 수 없음"이라는 것을 깨달았습니다.
이 두 가지 오류가 다른가요? 이전에 이 문제에 주의를 기울인 적이 없는지, 아니면 이것이 차이를 가져오는지는 잘 모르겠습니다.
예는 다음과 같습니다.
/etc/cron.daily/apt:
/etc/cron.daily/apt: 91: /etc/cron.daily/apt: date: not found
/etc/cron.daily/apt: 97: /etc/cron.daily/apt: rm: not found
/etc/cron.daily/apt: 448: /etc/cron.daily/apt: pidof: not found
xargs: rm: No such file or directory
/etc/cron.daily/apt: 176: /etc/cron.daily/apt: date: not found
/etc/cron.daily/apt: 176: /etc/cron.daily/apt: date: not found
답변1
bash
dash
명령을 찾을 수 없는 경우를 처리하는 방법과 처리의 차이 입니다 .
에는 bash
다음과 같은 함수가 있습니다 command_not_found_handle
.
$ type command_not_found_handle
command_not_found_handle is a function
command_not_found_handle ()
{
if [ -x /usr/lib/command-not-found ]; then
/usr/lib/command-not-found -- "$1";
return $?;
else
if [ -x /usr/share/command-not-found/command-not-found ]; then
/usr/share/command-not-found/command-not-found -- "$1";
return $?;
else
printf "%s: command not found\n" "$1" 1>&2;
return 127;
fi;
fi
}
그래서 bash
:
$ foobar
foobar: command not found
그러한 함수가 정의되지 않은 경우 dash
다음을 얻습니다.
$ foobar
dash: 1: foobar: not found
dash
Ubuntu는 내부 작업에 기본 셸을 사용하므로 dash
특정 스크립트를 구문 분석할 때 자체 형식을 표시합니다.