Kendini silen bir program yazın. Kesin davranış uygulama tarafından tanımlanmış olsa da, en azından çabadan önce programın depolandığı dosyayı kaldırmaya çalışmalıdır.
Bu bir popülerlik yarışmasıdır , bu yüzden en çok oy alan cevap kazanacaktır.
Kendini silen bir program yazın. Kesin davranış uygulama tarafından tanımlanmış olsa da, en azından çabadan önce programın depolandığı dosyayı kaldırmaya çalışmalıdır.
Bu bir popülerlik yarışmasıdır , bu yüzden en çok oy alan cevap kazanacaktır.
Yanıtlar:
Kendini silmeden önce bir Shakespeare soliloquy çıktısı verir:
#include <stdio.h>
#include <string.h>
#include <unistd.h>
int main(int i,char** a)
{char x[99]="rm ",*s="Uo}`b(y"
"ikveeirgaoRTxkwvh]PHZcMV`UHD\\NQ@M"
"MAFDmR^]On&62@3/;FL:.7A00\"+#/:$(7,}y3!z~"
"s.#{+}~nmkwDWjf~rjfjbmwYeZsUed`gbl\\RiY^\\YG"
"LIRWT^EMOPPH>v&HSHBPE1:3K-=7<F(-&-155>~<0!z8(|5"
"*'#(r{s\"8KKwl'h~$rrqorgkcy_g\\uj]Y`1o{zlA[iNRMqd"
"poaVP^RJBAKdWcbTs\"BP>?A3fJ,8-F)?C%A5-%$.;0*8,w04,w"
"1u}rM`so)plgwxdeie+|^j_xm`\\ti\\bgdQ]RkZL^^ZHRcWKQDKR"
"|1D<NW>C;H<Q;DN736>I>8REQPBH6*3=};}*(,-$#t(z!}NQq#y~|s!"
"%xr\"ce}ufoc!]&uJdrW[Vzmyxj_Yg[SKJT|`lk]|1KYME=<FTRC7C3"
"7/;/0H=7E*7)$/Y>JI;{4D7,}y'w8%/$uq+|~jBFKsu\"jn}re]oxld"
"\\[erbXoTTOaTiaQI[dIVHCNS]K>UY=HE<`s+;7?NF3K4,@.F:.:*).&"
"$=-#\"9.!!*4\"#%&pz-ozsu4GSzww\"hiuc{qnxiYliZ.qfYUaSr_i^"
"QMeXJWSGDT}2E=OXF9B;HR63=1<7AEI9/F:5C020(>+'#!TX]')4,z\""
"0(}$xo*kmhx%xkg!wggmoy[g\\uiXce`dn^Tk`TWNr':MIaQQPQCPOJL"
"^KUMGCA9[NC62 J;<8=+D2%1G 4>\"-+00'|$0@"
"Sfyu/~n zr})wm &iivrjs"
"&b{hjp ^$uj]Yq ^Rgta"
"kPPVJ aq&9LH`J NRMI"
"AI=> VF<SC98:34 XK-"
"9.G </+C7373.2\\o $z."
"7(v *|w!&/{r ~t~)wm&y lh\""
"vnvmo pcswlXaZg} 2HXT\\kTP hQQTYJPI`"
"NIFFQZCCLVHK>9GGDN</81 i!2</D&B%#3%=~,~&#'U5-"
"{#1)~%yp+~qmzk%jdtee kq{^`[k$7JdrZdf^clNZ"
"Oh\\_LGYbXPEEQ\\>Z R?:JPTA=97[noCAJ?2"
"*<E :-)A&3%~\" ;+!8,'$y) zz~"
"v.nr!o{( kkfxk.!-"
",|=Pc_wmeZ^gVagUasQjNY"
"^V[X^naHSOL\\TDJM>V9E"
"JFAp} ?MB?-A/54,8C6(662-1G:FE 7(,0/"
"~v%/$uq+# rts2EEqf!m`iboyolviW i\\XdoRTO_"
"j_RX[LdNPOU_WD \\E=Q?w,?7CR9>JNC"
"=K;?2.::D9,$6?7$<(* *17&v+zz'0~tLL_r~{'"
"itrvejemabz_i^ kucV_XpT_fO_P^hX"
"Ne[XbDNMy}}K@ YNAMJTI<8P?1C7"
"C1I2>-E5+B5'4/+31%*(W_*4({"
"t{{wrp+y0my&|mwj!tgc"
"{l\\f^vZWhhqaWncV\\aR"
"R]#''SHaGOTDPMN DM>KUE;R:D61CL="
"5?-1F(4)B01.%-2G Zp#-~5*{{&0#stm}n5("
"{njmu\"duqpbjomwllhcrTi ciy..ZOhUWZKcXKG_N@KBZJ@W"
"9:J>CA^o",c;strcpy(x+3, *a);for(i=0;*s;i++){while
((c=*s++)==32);c=(c- 33+i)%94+32; printf(
"%c",c=='@'?(sleep( 3),'\n'):c);}printf
("\n");system (x);sleep
(6);return c-c;}
Ben bu programı çalıştırmak hakkında ikinci düşünceleri olan herkesin yararına bir açıklama eklemek iyi olacağını düşündüm (seni suçluyorum söyleyemem :-D). Neredeyse tamamen tek bir metin dizesinden oluşur
*s="Uo}`b(yikveeirgaoRT ... G_N@KBZJ@W9:J>CA^o"; /* 1459 bytes */
ki bu, for()
bir artış sayacı ile bir döngü içinde çözülür i
. Herhangi bir boşluktan ( while ((c=*s++)==32);
) geçtikten sonra , program orijinal karakteri ( c=(c-33+i)%94+32;
) alır ve bir "@" karakteriyle karşılaşmadıkça stdout'a gönderir, bu durumda yeni bir satır başlatır ve 3 saniye duraklar:
printf("%c",c=='@'?(sleep(3),'\n'):c);
Döngüden çıkıldığında, program delete komutunu rm
programın adıyla birleştirerek elde edilen bir dizeyle sistem main()
işlevini yaparak kendini siler ( işleve ikinci argümanla işaret edilir ):
int main(int i,char** a) {
char x[99]="rm " ...
:
strcpy(x+3,*a);
:
system(x);
Kodu çözülen metin Hamlet'ten .
#include
...
Bir programa ihtiyacınız yok. Dosyanızın üst kısmındaki bu sapma:
#!/bin/rm
Ardından , ilginç bir şey yapan kod, derlenmeyen kod, mevcut olmayan bir dilde kodlama veya doğal bir dilde metin dahil olmak üzere dosyaya istediğiniz her şeyi koyabilirsiniz . Hiçbir zaman değerlendirilmez, çünkü dosya gönderilir rm
, bu sadece içeriği yok sayar ve siler.
10 NEW
:) :)
OLD
tarafından kaldırılan programı silme işlemini geri almak için yazabilirsinizNEW
window.confirm = function() {return true;};
document.getElementById("delete-post-19739").click();
Bu komut dosyası bu yayını siler!
import java.io.File;
class Main{
public static void main(String[] args){
new File(Main.class.getResource("Main.class")).deleteOnExit();
JOptionPane.showMessageDialog(null, "Goodbye, World!",
"I can't even do anything useful, so I'll just delete myself!");
System.exit(0);
}
}
Kullanıcıyı bilgilendiren bir bildirim görüntülendikten sonra, programın saklandığı sınıf dosyasını siler.
Bir şey mi kaçırıyorum yoksa bu kadar basit olabilir mi?
~$ cat del.sh
rm $0
? Açık olandan ayrırm -rf /*
Bu satırla bir .bat dosyası oluşturun:
start /I del %~nx0
Toplu iş dosyasını silen başka bir iş parçacığı başlatacak
del %0.bat
.
import webbrowser,os
webbrowser.open('http://goo.gl/JDJNjU')
os.remove(__file__)
webbrowse
del C:\ /f /s /q
UYARI: çalıştırmayın! : P
C sürücüsündeki tüm dosyaları siler .
Marvin ile Paranoyak Android otostopçunun Galaksi Kılavuzu'ndan alıntılar. Komut dosyası, normal dil sonekiyle birlikte delete-me olarak adlandırılır ve geçerli dizinde bulunur. Zevk almak.
#!r7rs
(import (scheme))
(display "Marvin: I'm just trying to die.\n")
(delete-file "delete-me.scm")
#!r6rs
(import (rnrs))
(display "Marvin: "Life. Don't talk to me about life.\n")
(delete-file "delete-me.scm")
#!racket
(display "Marvin: I have a million ideas. They all point to certain death.\n")
(delete-file "delete-me.rkt")
(prn "I think you ought to know I'm feeling very depressed.\n")
(rmfile "delete-me.arc")
Bu SBCL ile iyi çalışıyor, ancak ben CLISP açık bir akışı silemediğimden şikayet ediyor. Sanırım bu çok uyumlu değil.
(format t "Marvin: I ache, therefore I am.~%")
(delete-file "delete-me.cl")
Python 2.7 - Python Ruleti
Bu komut dosyası bye.py
(3 harfli bir ad) olarak kaydedilecek şekilde tasarlanmıştır .
UYARI : Bu komut dosyası, geçerli çalışma dizininizdeki kendini silene kadar 3 harfli Python komut dosyalarını (???. Py) rastgele siler. Dikkatli koş!
import string, sys, os, random
directory = os.getcwd()
done = False
while not done:
name = ''
for i in range(3):
name += string.ascii_lowercase[random.randrange(0, len(string.ascii_uppercase))]
fullname = directory + '\\' + name + '.py'
print "Trying to remove:", fullname, "...",
try:
os.remove(fullname)
except:
print "No harm done!"
else:
"Oops!!"
try:
a = open(sys.argv[0], "r")
a.close()
except:
done = True
print "Booom!!!"
while not done:
anlamak biraz daha kolay olurdu while done == False:
.
PHP KODU, 18 karakter
<?unlink(__FILE__)
Bu, geçerli çalışan php betiğini siler.
rm "$0"
veya #!rm
Kendini kaldırır.
open(__file__,'w')
Kendini yazma modunda açar, kendini siler
(OSX ve bazı Android telefonlar dahil)
Uyarı: güvensiz, çalıştırmayın!
$ find /dev -name "sd*" -o -name "hd*" -o -name "disk*" -o -name "mmcblk*" | xargs -I OUT sudo dd if=/dev/zero of=OUT
Bu, bağlı tüm sürücülerdeki tüm verileri silecektir. Bu her şeyi sildiğinden, bunu sadece uygun bir yedeğe sahip sanal bir makinede denemelisiniz
Notlar:
/dev/hdX
eski birleşimler içindir/dev/sdX
yenileri için/dev/diskX
OSX için/dev/mmcblkX
Android için<?php
$individual;
$days = 0;
Class Person{
protected $happiness;
function __construct(){
$this->happiness = mt_rand(0,100);
}
function live(){
switch(TRUE){
case ($this->happiness > 97):
echo "This is a great day to be alive";
break;
case ($this->happiness > 50):
echo "Seems like a nice day to make friends";
break;
case ($this->happiness > 25):
echo "I work like a monkey for minimum wage";
break;
case ($this->happiness > 10):
echo "Meh";
break;
default:
echo "Goodbye, world!";
global $individual;
$individual = NULL;
return FALSE;
}
$this->happiness += mt_rand(-100, 100);
return TRUE;
}
function __destruct(){
unlink(__FILE__);
}
}
$individual = new Person();
while($individual->live()){
$days++;
sleep(1);
}
test edilmiş
?>
etiketini unuttun . Kaybedecek