V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
gIrl1990
V2EX  ›  问与答

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

  •  
  •   gIrl1990 · 2019-09-11 14:31:10 +08:00 · 991 次点击
    这是一个创建于 1901 天前的主题,其中的信息可能已经有所发展或是发生改变。
    • 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 条回复    2019-09-18 05:16:57 +08:00
    james122333
        1
    james122333  
       2019-09-18 05:08:15 +08:00
    #!/bin/bash

    IFS=$'\n'
    for i in $(set -o)
    do
    case $i in noclobber\ *) echo $i ;; esac
    done
    james122333
        2
    james122333  
       2019-09-18 05:14:23 +08:00
    写成 function 了
    james122333
        3
    james122333  
       2019-09-18 05:16:01 +08:00
    #!/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  
       2019-09-18 05:16:57 +08:00
    阿 直接[[ $# -ne 1 ]]就好
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5386 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 05:52 · PVG 13:52 · LAX 21:52 · JFK 00:52
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.