小编I.A*_*Guy的帖子

删除一行中的第一个空格

如何仅从如下一行中删除第一个空格而不删除同一行中的其他空格?

示例输入:

2015-04-18 10:21:59 10 05430 -9999 -9999 000000000000
Run Code Online (Sandbox Code Playgroud)

示例输出:

2015-04-1810:21:59 10 05430 -9999 -9999 000000000000
Run Code Online (Sandbox Code Playgroud)

bash text-processing

8
推荐指数
1
解决办法
2万
查看次数

将 $@ 分配给 shell 函数中的另一个变量

我正在制作一个gc可以区分 git commit/checkout的智能别名。

如果gc在不带任何参数或带有-a,-m参数的情况下调用,则运行 git commit。否则,运行 git checkout(如果有一个b带有附加参数的标志)。如果调用 gc 的任何其他变体,我宁愿它抛出错误而不是做一些意想不到的事情。

到目前为止,这是我的 shell 函数。

gc() {
    args=$@
    commit=false
    checkout=false

    # Check flags
    while getopts ":am:b" opt; do
        case $opt in
            a|m)
                commit=true
                ;;
            b)
                checkout=true
                ;;
            \?)
                echo "Unknown flags passed."
                return 1
                ;;
        esac
    done

    shift "$((OPTIND-1))"

    # Check number of arguments
    if [[ "$#" == 0 ]]; then
        commit=true
    elif [[ "$#" == 1 ]]; then
        checkout=true
    else
        echo …
Run Code Online (Sandbox Code Playgroud)

bash zsh array shell-script

3
推荐指数
1
解决办法
351
查看次数

标签 统计

bash ×2

array ×1

shell-script ×1

text-processing ×1

zsh ×1