小编ima*_*453的帖子

检查 bash 脚本的任何参数是否与字符串匹配

我正在尝试编写一个脚本,我想检查传递给 bash 脚本的任何参数是否与字符串匹配。我现在设置的方式是

if [ "$3" != "-disCopperBld" -a "$4" != "-disCopperBld" -a "$5" != "-disCopperBld" -a "$6" != "-disCopperBld"]
Run Code Online (Sandbox Code Playgroud)

但可能有大量参数,所以我想知道是否有更好的方法来做到这一点?

谢谢

编辑:我尝试了这段代码,并使用选项 -disableVenusBld 调用了脚本,但它仍然打印出“开始构建”。难道我做错了什么?提前致谢!

while [ $# -ne 0 ]
do
    arg="$1"
    case "$arg" in
        -disableVenusBld)
            disableVenusBld=true
            ;;
        -disableCopperBld)
            disableCopperBld=true
            ;;
        -disableTest)
            disableTest=true
            ;;
        -disableUpdate)
            disableUpdate=true
            ;;
        *)
            nothing="true"
            ;;
    esac
    shift
done

if [ "$disableVenusBld" != true ]; then
    echo "Starting build"
fi
Run Code Online (Sandbox Code Playgroud)

linux unix bash shell-script

95
推荐指数
4
解决办法
14万
查看次数

Notepad ++ 类似 linux 的编辑器,可在右键单击时突出显示单词

我正在寻找的是 Notepad++ 功能,我可以在 linux (Red hat) 的某些编辑器中通过右键单击并选择 5 种样式之一来突出显示单词(以便该单词的所有实例都以该颜色突出显示)。我发现它有助于我理解新代码。

linux notepad++ text-editors

6
推荐指数
1
解决办法
2258
查看次数

.bashrc 中的别名

我对 UNIX 完全陌生,所以如果这个问题非常愚蠢,请原谅我。

我刚开始实习,在那里我可以访问构建服务器。当我登录时,我想在我的环境中默认包含某些别名。据我所知,这样做的方法是将它们包含在我的 $HOME 目录中的 .bashrc 文件中。但它似乎不起作用。我在某处读到只有交互式 shell 和用户脚本才能读取它,这是它不起作用的原因吗?我正在运行 Bash。那么我该怎么做呢?

提前致谢!

linux unix bash

5
推荐指数
1
解决办法
3766
查看次数

bash 中的字符是什么意思?

, 在 bash 中是什么意思?例如,“accurev update -9 2>,update 1>&2”中的 , 是什么意思?(accurev是一个版本控制软件)

抱歉这个蹩脚的问题,我只是不知道如何用谷歌搜索特殊字符。

linux unix bash

3
推荐指数
2
解决办法
6831
查看次数

bash脚本的多个参数

我需要在我的 bash 脚本中检查用户提供的选项,但在调用脚本时并不总是提供这些选项。例如,可能的选项可以是 -dontbuild -donttest -dontupdate 的任意组合,有没有办法检查它们?对不起,如果这个问题真的很基础,我是 bash 脚本的新手。

谢谢

编辑:我尝试了这段代码,并使用选项 -disableVenusBld 调用了脚本,但它仍然打印出“开始构建”。难道我做错了什么?提前致谢!

while [ $# -ne 0 ]
do
    arg="$1"
    case "$arg" in
        -disableVenusBld)
            disableVenusBld=true
            ;;
        -disableCopperBld)
            disableCopperBld=true
            ;;
        -disableTest)
            disableTest=true
            ;;
        -disableUpdate)
            disableUpdate=true
            ;;
        *)
            nothing="true"
            ;;
    esac
    shift
done

if [ "$disableVenusBld" != true ]; then
    echo "Starting build"
fi
Run Code Online (Sandbox Code Playgroud)

linux unix bash shell-script

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

&Number 有什么作用?

我知道&在命令末尾添加一个会使它在后台运行。我想知道是什么&Number意思?我正在查看一个脚本,其中有一些命令&1&2.

linux unix command-line

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

bash 脚本中一行的含义

任何人都可以帮助我从 bash 脚本中理解这一行的含义吗?

[ "$2" = "" ] && >$1 && return
Run Code Online (Sandbox Code Playgroud)

linux unix bash shell-script

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