Command line buffer limit?


 
Thread Tools Search this Thread
Top Forums UNIX for Dummies Questions & Answers Command line buffer limit?
# 1  
Old 01-03-2003
Command line buffer limit?

Is there a limit (255 chars?) on the command line??

I'm trying to copy some generated java & class files from one dir to another and ID the old & new versions by:

find . -name FFSFIXADminCallbackBean.java

I then do a copy and paste of the source and target -
$ cp -p source target

It looks like my command gets truncated when it's executed...
(The directory structure is monstrous!!)

I'm running HPUX 11. Does this behave the same under Solaris 2.8?

Thanks,

John
# 2  
Old 01-03-2003
Yes, there is a limit to the command line.

To 'get around' the limit, try installing a soft link which points to the directory you are trying to copy to (this should take care of the long directory structure)
# 3  
Old 01-04-2003
I think that you have some other problem. The various limits are found in <limits.h> or "man limits". The max length of a command line is 2048. A posix compliant OS may have a larger limit but it may not have a smaller limit. So you can depend on at least 2048. I often use commands longer than 255 characters on HP-UX.
# 4  
Old 01-06-2003
Care to verify that Perderabo? When I read your post I figured you were correct since I mostly have to deal with Solaris and I know how many differences between the major UNIX brands.

But in trying to enter a continous 255+ command on the command line it dies a horrible death with a quite spectacular sounding of the "keyboard overflow" .... streaming beeps. (Yes, it was on HP-UX 11).

How are you creating 255+ character command lines? (For my education, thank you)

Would the limit you suggest still not have a problem with the find command that the poster submitted?
# 5  
Old 01-06-2003
As I test, I just signed in to an 11.0 box. Then I typed:
echo xxxxxxxxxxxx | wc -c
I actually held the x key for a long time. The result was 1988. I'm surprised that I got that close to 2048, I removed my finger from the x key when I estimated that I had about 500 characters. Oh well.

But maybe you made a similiar error? 255+ is a slippery term. Could you have had very much more than 255?

Even MAX_INPUT is 512. That means that you should be able to pre-type 512 characters and have them laying around in the terminal's input buffer ready to go for the next read the shell issues.

My usual means of generating very long command lines is something like:
gzip *
But I realized that I needed to explicitly type one in to really prove my point.

As for the find command itself, it clearly is ok. The OP had troubles building a subsequent command by cutting and pasting the output from the find command. I have no way of knowing how long the created command was.
# 6  
Old 01-07-2003
Thanks Perderabo. I did two different commands (one to create a directory which I realized may have been a problem other than the 'limit' on command line) but both errored by beeping constantly and giving an error in the middle of the line.

On one, it cut a grep command and came back with "command not found" for "rep" and the other died along the same line (same number of characters).

cat passwd | grep h | grep o | grep m | grep e | grep a | grep i | grep o | grep 8 | grep 1 | grep 3 | grep 2 | grep 9 | grep "-" | grep S | grep b | grep l | grep t | grep L | grep 4 | grep d | grep r | grep 0 | grep V | grep I | grep abal | grep k | grep and | grep ers | grep eit | grep N | grep z | grep w | grep g | grep N
$ V | grep I | grep abal | grep k | grep <
usage: grep [-E|-F] [-c|-l|-q] [-bhinsvx] -e pattern_list...
[-f pattern_file...] [file...]
usage: grep [-E|-F] [-c|-l|-q] [-bhinsvx] [-e pattern_list...]
-f pattern_file... [file...]
usage: grep [-E|-F] [-c|-l|-q] [-bhinsvx] pattern [file...]

Note that when hitting return, it errors and gives back a prompt and includes the rest of the line as a start of a new command ($ V | grep 1 ....).

This is probably some other parameter set differently from one system to the next (or possibly shell) but I figured I would ask about it. I can also get the same response on Solaris even though I found some indication that the same information you suggested was true for it too. Ksh on HP and csh on Solaris. And for some reason I get a few more characters (about 40 ) on Solaris. The whole thing is strange and inconsistant.
# 7  
Old 01-07-2003
That sounds like flow control. Characters are arriving too fast for the driver to read them. Are you using a real terminal? If you're using a network connection, are you using rlogin? If so switch to telnet and repeat your test. Bear in mind that even if flow control is working properly, it is not directly connected to you. All it can do is beep and hope that you stop typing.
 
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. UNIX for Beginners Questions & Answers

Single line archive log files command if exceed certain limit in Linux

Hello Guys, Is there a single line archive command to zip or tar log files which is larger than certain size limit ? Do let me know if there is any. Thanks (7 Replies)
Discussion started by: UnknownGuy
7 Replies

2. Programming

Limit line for perl

Hey guys, can help me out with this? How do i limit output for xml to 50 character? i tried *below* but doesnt work, it still print more than 50 characters. Thanks in advance printf "%-50s", "$testline\n"; (4 Replies)
Discussion started by: Nick1097
4 Replies

3. Shell Programming and Scripting

Ignore the 255 character limit of command line

Hi I would just like to ask if there is a way for UNIX to ignore/overcome the 255 character limit of the command line? My problem is that I have a really long line of text from a file (300+ bytes) which i have to "echo" and process by adding commands like "sed" to the end of the line, like... (5 Replies)
Discussion started by: agentgrecko
5 Replies

4. UNIX for Dummies Questions & Answers

Vim external command output to new buffer

Hi, From inside Vim, I'm looking for a way to use the contents of the current buffer, pass it to an external executable, and then return the output from the executable into a new Vim buffer. I know that I can do something like %!<executable>, but that will overwrite the contents of the... (3 Replies)
Discussion started by: konfushus
3 Replies

5. Programming

Is there a limit for a code line length in C?

Is there any stabdard limitation on size of a code line in C code? I am interesting in UNIX limitation, particulary on SUN. Thanks! (8 Replies)
Discussion started by: alex_5161
8 Replies

6. Shell Programming and Scripting

Problem with awk awk: program limit exceeded: sprintf buffer size=1020

Hi I have many problems with a script. I have a script that formats a text file but always prints the same error when i try to execute it The code is that: { if (NF==17){ print $0 }else{ fields=NF; all=$0; while... (2 Replies)
Discussion started by: fate
2 Replies

7. UNIX for Advanced & Expert Users

How to limit the search to 'n' occurrences within a line

Hello All, I am trying to search one pattern across a file and then print it. But i need to delimit the search per line to 2 occurrences. How do i do that? Regards. (9 Replies)
Discussion started by: Linuxee
9 Replies

8. Shell Programming and Scripting

How to Monitor printer buffer using unix command

Hi, I have 13jobs waiting in a printer queue.I am try to get the status and number of jobs using lpstat but i cant see any job is waiting in queue.i think those jobs are in printer buffer.is there any way to get the status of printer buffer too using unix command.please correct me if i am wrong. i... (1 Reply)
Discussion started by: sagii
1 Replies

9. Shell Programming and Scripting

grep line length limit

Hi Friends, I am having a funny problem with grep. When I run grep 'expr' file.txt things work fine. But when try to get the line number using the -n option, i.e, grep -n 'expr' file.txt I get a message, "grep: 0652-226 Maximum line length of 2048 exceeded." If the line has more than... (3 Replies)
Discussion started by: hnhegde
3 Replies

10. UNIX for Dummies Questions & Answers

sendmail message body buffer limit?

when sending the contents of a ascii file to the body of an email then sending it off. it seems sendmail is breaking up the lines with a "!" thus ruining the data. Has this ever happened to anyone? i am guessing there is a line buffer limit in either the mail command or in sendmail itself. ... (3 Replies)
Discussion started by: Optimus_P
3 Replies
Login or Register to Ask a Question