Встретился я недавно с неочевидным поведением баша и утилит, и вот предлагаю вам тоже встретиться.
Пусть есть программа на C следующего содержания:
#include <stdio.h>
int main()
{
printf ("Hello! I am cute program.\n");
return 0;
}
$ gcc my_c_program.c -o my_c_program
$ sudo mv my_c_program /usr/bin
$ my_c_program
I AM SCARY VIRUS AHAHAHAHA!!!
$ which my_c_program
/usr/bin/my_c_program
$ /usr/bin/my_c_program
Hello! I am cute program.
Все происходит в баше; баш, gcc и which непатченные; alias незадействован; новые функции в баше не определены.
Вопрос: как такое может быть? :)
Кто отгадает (знает), тому - респект.
Примечание: в моем решении нет злого умысла, только одна ошибка, и одно небольшое совпадение. Инфернальность вирусного сообщения не должна смущать: там могло быть что-то вроде «Hello !I amc ute prgoram.»
Респекты выражаются anon_666, Cancellor и Tark за правильные ответы, но не совпадающие с моим (более неожиданным!). Главный респект еще не разыгран!