From c6cab81a016c91019b9629fdd7bca94093b30772 Mon Sep 17 00:00:00 2001 From: benstrb Date: Sat, 11 Oct 2025 22:19:17 +0200 Subject: [PATCH] progress on shell --- shell2 | Bin 20392 -> 20640 bytes shell2.c | 51 ++++++++++++++++++++++++++++++++++++++++++++++----- 2 files changed, 46 insertions(+), 5 deletions(-) diff --git a/shell2 b/shell2 index a5a922f42fed494f537a0528095ce4b23c428928..155bb78e7b0783bbf8c2e823852c5f966e94584a 100755 GIT binary patch delta 2641 zcmZ26pK-xL#t9Na69gE*zyVA$FetcB)LOKQf7k73ZX;7BIxe7ndX^XU8XJWXGo^X68&@ zz@lWIo?4QcSH@6Kl$lqO#*m&`l3bp`kdv8|tXG_`XU5>}xdlYxPWAs3{Xfq~(IErh`Vp%@A#H?oRPZeZmQG=N4WOvYgHMpog; zcUXCNPuN2ggMyKH@?BPONoX{Kg>N9qa!lrB6R!saJ6H-tKurbd07V5z2!uJ1#92TB zP%MBX&I%O+Q4&bvAa{VoKv)4uoD(F#z_8h!Z7atl0Vl^p`V0&iAWL6f`2YX^f7M+e zJ}A|_JOJiz0`Zv{7#Ln|0P|OY_#nr;Tma@rO?DPg33&N9%zS&i@biURy_y!d_FW z$-4z)823)TAt0yuSC4^#p;SB6quF*Ai0RS!w1mf_+xDIw1H%i=|NsBLNcsQ&|1s99 zljQ~F>zm&Qc=WP1@G&rWbRORUGX2HwfB*k`^s<&9i!FzU^&^W-hKNl-7ORJd%|I5* zhKOx~h`q1@aXVdqcyzn|@Tl)R=F!VK7a|3*-uB=B|NB9K{2~~nvX}J-~;7(i-Ve;6L{=xzP*`~Uxa3@jj#<1haG1^EUn<^i_M z0ogLE3xEIrp8#@7iibADm=e|(tN;H053vK{q$~ga|A(+z|3g`^hd1vM^x~bQP%v3g zK`$aS*fofOiwi_4WENW~IH(qLF>twL7Fj8%7BetPGh16gi;a}`|Nn!c{K)(N|JN`u zFkE^6|9=Pr1H;}A|NkFhU|^{D`2YVC1_p-PAOHVnVVt~7L5ZMVKR>KpT@YFB{V~9(E1}1{nqhh8hM2hMo`q|0ko!$HC?2 zFfcHj|M366JhFV$<}Af;+>!-?AVCHO11JrO3Xq83K9^^hfd7&H7Tm;IPAoUV#lYi;iG2WPLsV~pCZ*rvmdQCTIArl6r)1Y)2lm=-7 zVS~wn2L6l_CMO!yv+fXLU|^WIQF@Z00@EI$$#V8`lN}5Nc

oXQiR&Pj+Lpo#l3GB5}+@G+Qxe9pkY z0FFck28M8uI1@huI7C1OKyfTcoPm#_5*lIPM8N^%tXGP`0nN?pp>9Bl76t}}XHfO%e*6Sg zKOO2va6)8YVE7KT9bG*$6DSNBCVyrUWR+!NU=W)8kx7_Up9xZd3Nv{zZC>Ogz$gT% zEgfLBBB%n~=Buji}2(-?lOY=U?NajY%-^Z zzTgcg4@Nso_Vm!_l7MC`3AV{i9%h2Dd0h)*#CO3MT z!<$vGh*4vje9BXg3zmj<2u)`4a%0>x+0#p3a1UDJ$Yye;3nn}I+A}6hZuGThygT`z zuRUYdWJW)GM$5^Le)f#NCpY@pbFzT)FaraF6C||!RJc5#A{;D}x%|zz0-Pah1EX1hCH3iC@ z!Z_KBQIFGu2_hRXxsh?dV2L7x2d5_oGQ}$vC_qHfX%mPrgURHJOy@;5a|oW&vvblA)*QfMpleaJ{h=N=LvJ^x!Ff@WSu}yx-tUmbyiv*+BWJeZpMy1JuEaHr5 zV0I~pWEEy$U{IR;kx68-1goNKK~ZL2Ng6{=W>T_ValW1zgS(HXlXJY0o{^p@!{mGy zjmgtkwJaEz7#JCt85qGN0|O%i6N4rL0|PXW7)qrwIT;w38H}M~TP99pV_;xnu%9f* zCO+ALjl=eaE!cGo91x1(15~R3G=O2^F#Z91h(eIp7$@hliBHa9*E}OU{ zD?}NXe1Ig&Hu)@@_+*s;kne;h~0Xig!BIce)$HF;=@qdqt`YOB-v{kHTk!I z4CCL)5`uD?vib}R45iwk9?iD5^cWZzJUXA2@OX6F{?lV%c%k|K|Nj>$|Ns9##`<+~ zyr6u2FY6ILkecH=KqkMq|L^~Qk6zXt$YQ4;^15DVJ>|NjqW#U2K^ZSzhccizbf?0+UH6c{o}Gh2g_9VkFIy#N0n~3=9k>Km7lHfPsO*Pb8o;4ieFv{8Cq*X^-G!F1De(lOt#dQXEc}`slT2RD#IW!+0ekBF<^3|K|SjpkaZI`N>5fW zRA4$FIN8o#ZgPU5pd73WPy%U^VqgF#Z^i~DP%<+Q*xYZpkA<;hv!7Wc6Jx;U6&7-g zAg7(MOkg@7xLM2UBMXQtYcCHm(uuKTa-+SwWCJwegUkeBEe23V;bYh^`JuhIBrIEi zWI#BW0hHOK7$hbOI_OXSVJ|Q_z#)LKVDdr-cgBLrFCFX|#V0#DiYF#8GB7AGNHTCh zvlB=!2pcnkGN~kk1e&-NBLjmF6F&pk>mY?t>;MvH;A5}^1qlNK12_g57#O@KUvw0g zjDwnnZc8@E4U$!i3=D!yk_@mc3^kIWeR86cc>Of6UMU6zG?%16ZA1xd1_p-NQ1$38 zUk+8j1nNR?8e(8zSOc{kUHuMl$S_QHcNAp3#0V+*gqhwlZnkn3V4NK5;vgQMmYJ8y zkeQcR5?`E=nv=r-DH12YacSIK?|P4MbAr19Bjbw6j-KL^XLv{mE?|N93`X})KIow@ zXaLGM3=9k~nr||rr@o*AR1`)VOm_6t=PH1T7O+mP@-!2KC0iIRG5Mfp{bUywfyn`0 z3Y-qm1miHd(#srPFTsKkDF3E|VL*^#xZz zs~#AAX7WLAeO`F=1gfqkJF*CG7Vt4(gt*05ffE+-9Fr@3%{gH~EirkgFDMKC^tERU zm~821&*(6@($Ai8@8q3+_KaSWfBM-oN=~-)w`aUPxzgXB>51LsUH*1l8lZf{z`!tp gc`{Rg8RrfsNU(mMe9%vRazcOv=V}*-NEJu~08zh_^8f$< diff --git a/shell2.c b/shell2.c index 5fa923e..720743b 100644 --- a/shell2.c +++ b/shell2.c @@ -1,15 +1,56 @@ -#include +#include +#include +#include +#include +#include +#include +#include #define clear() printf("\033[H\033[J") void init_shell() { clear(); - printf("\n\n\n\n******************" - "************************"); + + printf("\n\n\n\n******************************************"); printf("\n\n\n\t****MY SHELL****"); printf("\n\n\t-USE AT YOUR OWN RISK-"); - printf("\n\n\n\n*******************" - "***********************"); + printf("\n\n\n******************************************"); + + char* username = getenv("USER"); + printf("\n\nUSER is: @%s\n", username); + sleep(1); + + clear(); +} + +int take_input(char* str) { + char* buf; + + buf = readline("\n>>> "); + if(strlen(buf) != 0) { + add_history(buf); + strcpy(str, buf); + return 0; + } else { + return 1; + } +} + +void print_dir() { + char cwd[1024]; + getcwd(cwd, sizeof(cwd)); + printf("\nDir: %s", cwd); +} + +def execute(char** parsed) { + pid_t pid = fork(); + + if (pid == -1) { + printf("\nFailed forking child.."); + return; + } else if (pid == 0) { + + } } int main() {