931
Comment:
|
1167
|
Deletions are marked like this. | Additions are marked like this. |
Line 13: | Line 13: |
'ls > list' | {{{ ls > list }}} |
Line 15: | Line 17: |
'set -o noclobber' | Try setting noclobber {{{ set -o noclobber }}} |
Line 19: | Line 25: |
'ls > list' | {{{ ls > list |
Line 21: | Line 28: |
}}} | |
Line 26: | Line 33: |
'ls >| list' | {{{ ls >| list }}} === Unset noclobber === Just like setting unclobber, it is also possible to unset it so overwriting can take place using '>' redirection operator. {{{ set +o noclobber }}} |
Line 35: | Line 51: |
CategoryCategory CategoryCategory | CategoryShell CategoryBashguide |
Use of noclobber
When setting 'noclobber' overwriting the content of an existing file by the '>' redirection operator will not be possible. You might have typed '>' to redirect the output of a certain command to an existing file, while you intended to use '>>' redirection operator. This is where 'noclobber' comes in action, preventing you from accidentally deleting the content of the existing file.
How to use it
ls > list
Try setting noclobber
set -o noclobber
Try again
ls > list bash: list: cannot overwrite existing file
How to overwrite the file even with noclobber set
If you are determined to overwrite the file you can use the '>|' method. Thus
ls >| list
Unset noclobber
Just like setting unclobber, it is also possible to unset it so overwriting can take place using '>' redirection operator.
set +o noclobber
List of pages in this category: