V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
gIrl1990
V2EX  ›  问与答

bash 如何查看 set 设置的 option 是 enabled 还是 not enabled?

  •  
  •   gIrl1990 · Sep 11, 2019 · 1360 views
    This topic created in 2420 days ago, the information mentioned may be changed or developed.
    • 3.6.2 Redirecting Output

    Redirection of output causes the file whose name results from the expansion of word to be opened for writing on file descriptor n, or the standard output (file descriptor 1) if n is not specified. If the file does not exist it is created; if it does exist it is truncated to zero size.

    The general format for redirecting output is:

    [n]>[|]word

    If the redirection operator is ‘>’, and the noclobber option to the set builtin has been enabled, the redirection will fail if the file whose name results from the expansion of word exists and is a regular file. If the redirection operator is ‘>|’, or the redirection operator is ‘>’ and the noclobber option is not enabled, the redirection is attempted even if the file named by word exists.

    • 怎么查看 noclobber 的状态?
    4 replies    2019-09-18 05:16:57 +08:00
    james122333
        1
    james122333  
       Sep 18, 2019
    #!/bin/bash

    IFS=$'\n'
    for i in $(set -o)
    do
    case $i in noclobber\ *) echo $i ;; esac
    done
    james122333
        2
    james122333  
       Sep 18, 2019
    写成 function 了
    james122333
        3
    james122333  
       Sep 18, 2019
    #!/bin/bash

    get_option() {
    [[ -z "$1" || $# -gt 1 ]] && { echo "arguments mismatched!" ; return 1 ; }
    local IFS=$'\n'
    for i in $(set -o)
    do
    case $i in
    $1\ *)
    echo $i
    return 0
    ;;
    esac
    done
    echo "option not found - $1!"
    return 1
    }

    get_option noclobber
    get_option bash
    james122333
        4
    james122333  
       Sep 18, 2019
    阿 直接[[ $# -ne 1 ]]就好
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   1155 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 47ms · UTC 23:13 · PVG 07:13 · LAX 16:13 · JFK 19:13
    ♥ Do have faith in what you're doing.