user1@:/$
-ksh: line 3: write to 1 failed [No space left on device]
user11@:/$
-ksh: line 3: write to 1 failed [No space left on device]
user1@:/$
-ksh: line 3: write to 1 failed [No space left on device]
user1@:/$
-ksh: line 3: write to 1 failed [No space left on device]
user1@:/$
-ksh: line 3: write to 1 failed [No space left on device]
You might think the error is from a command line but, if you are on the system console, it's just the OS reporting an error. Is another user on the system running the script?
The device with no space left might be any device on the system (eg, a USB stick) or simply a scripting syntax error. Until we know more we cannot say.
Just an observation - in my own experience I only ever see this when /tmp is full.
Non researched suggestion: add a (bigger) swap volume!
You have a *tiny* /tmp so it wouldn't be unusual to see a scheduled activity fill it. If that process then dies and cleans up you will have your 145MB back again. However there are also situations where a Virtual Memory (swap) reservation fails. [See Note2]
Note: In Solaris /tmp is backed off onto the virtual memory subsystem (swap). Available swap is the sum of physical swap space + (some?) free RAM (the freelist?).
This is not visible from the output you have given.
Use swap -l to see physical swap space and swap -s for the summary.
Note2: Solaris refuses to overcommit virtual memory and a large parent process calling a fork may try to reserve the same memory footprint of the forking process. Search "Minimizing Memory Usage for Creating Application Subprocesses" in oracle.com for an article covering this.