Stories
Slash Boxes
Comments

SoylentNews is people

posted by martyb on Tuesday December 01 2015, @07:50PM   Printer-friendly
from the features-are-beneficial-bugs dept.

We make very careful considerations about the interface and operation of the GNU coreutils, but unfortunately due to backwards compatibility reasons, some behaviours or defaults of these utilities can be confusing.

This information will continue to be updated and overlaps somewhat with the coreutils FAQ, with this list focusing on less frequent potential issues.

Good tips and reminders for those who don't work mostly with a CLI (Command Line Interface).


[What has been YOUR biggest CLI gotcha? -Ed.]

Original Submission

 
This discussion has been archived. No new comments can be posted.
Display Options Threshold/Breakthrough Mark All as Read Mark All as Unread
The Fine Print: The following comments are owned by whoever posted them. We are not responsible for them in any way.
  • (Score: 3, Informative) by draconx on Tuesday December 01 2015, @09:10PM

    by draconx (4649) on Tuesday December 01 2015, @09:10PM (#270352)

    My favorite gotcha is the difference between the for loop and the while loop in bash. While loops create subshells with a new environment while for loops do not. Makes changes to bash variables very interesting.

    This is not the case. Neither for nor while loops create a subshell.

    % echo $BASH_VERSION
    4.3.39(1)-release
     
    % s=; while :; do s=while_is_not_a_subshell; break; done
    % printf '%s\n' "$s"
    while_is_not_a_subshell
     
    % s=; for x in x; do s=for_is_not_a_subshell; break; done
    % printf '%s\n' "$s"
    for_is_not_a_subshell

    Starting Score:    1  point
    Moderation   +1  
       Informative=1, Total=1
    Extra 'Informative' Modifier   0  
    Karma-Bonus Modifier   +1  

    Total Score:   3  
  • (Score: 0) by Anonymous Coward on Tuesday December 01 2015, @09:33PM

    by Anonymous Coward on Tuesday December 01 2015, @09:33PM (#270363)

    This is not the case. Neither for nor while loops create a subshell.

    It appears that while loops do: Bash Subshells [tldp.org]

    • (Score: 0) by Anonymous Coward on Tuesday December 01 2015, @09:35PM

      by Anonymous Coward on Tuesday December 01 2015, @09:35PM (#270364)

      Never mind, I just noticed that the while was enclosed in a ( ), which where the subshell comes from...