-- -*- M2-comint -*- hash: 10365735446967377456

i1 : run "uname -a"
Linux lcy02-amd64-105 6.8.0-90-generic #91-Ubuntu SMP PREEMPT_DYNAMIC Tue Nov 18 14:14:30 UTC 2025 x86_64 GNU/Linux

o1 = 0

i2 : "!grep a" << " ba \n bc \n ad \n ef \n" << close
 ba 
 ad 

o2 = !grep a

o2 : File

i3 : peek get "!uname -a"

o3 = "Linux lcy02-amd64-105 6.8.0-90-generic #91-Ubuntu SMP PREEMPT_DYNAMIC
     Tue Nov 18 14:14:30 UTC 2025 x86_64 GNU/Linux\n"

i4 : f = openInOut "!grep -E '^in'"

o4 = !grep -E '^in'

o4 : File

i5 : scan(keys Core.Dictionary, key -> f << key << endl)

i6 : f << closeOut

o6 = !grep -E '^in'

o6 : File

i7 : get f

o7 = interpreterDepth
     infoHelp
     integrate
     inducedMap
     installMethod
     insert
     info
     interval
     intersect
     inversePermutation
     inverseErf
     index
     indexComponents
     installAssignmentMethod
     infinity
     intersection
     indices
     incomparable
     indeterminate
     in
     inverseRegularizedBeta
     independentSets
     installPackage
     instance
     installedPackages
     input
     inducesWellDefinedMap
     inverseRegularizedGamma
     inverse
     installHilbertFunction
     instances


i8 : f = openIn "!sleep 5; echo -n the answer is 4"

o8 = !sleep 5; echo -n the answer is 4

o8 : File

i9 : isReady f

o9 = false

i10 : while not isReady f do (sleep 1; << "." << flush)
......
i11 : read f

o11 = the answer is 4

i12 : isReady f

o12 = true

i13 : atEndOfFile f

o13 = true

i14 : close f

o14 = !sleep 5; echo -n the answer is 4

o14 : File

i15 : 
