相关疑难解决方法(0)

为 sh 或 ash 重新编写 bash 条件时应该检查什么?

有时,在系统上不可能有 bash 的奢侈,但是与 sh 或 ash 相比,在 bash 上更容易创建条件,应该验证什么以确保条件不会在重写时与典型的“意外操作符”中断bash 到 sh 还是 ash ?

shell scripting bash shell-script ash

5
推荐指数
2
解决办法
596
查看次数

如何在 shell 脚本中使用和/或有条件

if在脚本中有一个声明。

它看起来像这样:

if [ "$a" != "0" -a "$b" != "100" ]; then
 #some commands here
Run Code Online (Sandbox Code Playgroud)

如果我没记错的话,如果两个条件都为真,上面的行就会起作用。

现在,我怎么能测试无论是执行之前的一个或两个条件为真some commands

scripting ksh shell-script

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

当我在提示中输入“ unset * ”时究竟会发生什么?

假设我以 root 身份连接到 Linux 系统。

当我输入时到底发生了什么unset *

shell bash variable

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

如何使用正则表达式检查 bash 中 0-5 之间的输入

用于检查某个范围内的单个数字的正则表达式模式是什么?我正在尝试以下模式,该模式在测试时似乎有效 https://regex101.com/

模式:\b([0-5])\b

预期结果:

输入:2 输出:好的

输入:5 输出:好的

输入:6 输出:无

输入:22 输出:无

test$ ch=2
test$ [[ $ch =~ \b([0-5])\b ]] && echo "ok" || echo "no"
no
test$ ch=6
test$ [[ $ch =~ \b([0-5])\b ]] && echo "ok" || echo "no"
no
test$ ch=62
test$ [[ $ch =~ \b([0-5])\b ]] && echo "ok" || echo "no"
no
test$ ch=0
test$ [[ $ch =~ \b([0-5])\b ]] && echo "ok" || echo "no"
no
test$
Run Code Online (Sandbox Code Playgroud)

我也尝试过双回:

test$ ch=2
test$ [[ $ch …
Run Code Online (Sandbox Code Playgroud)

bash shell-script regular-expression

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

这个shell脚本函数是什么意思

有人可以用一个例子告诉我每一行的含义是什么,我不明白为什么使用正则表达式,甚至 [!0122...]

#!/bin/sh
is_integer ()
{
    case "${1#[+-]}" in
        (*[!0123456789]*) return 1 ;;
        ('')              return 1 ;;
        (*)               return 0 ;;
    esac
}
Run Code Online (Sandbox Code Playgroud)

shell shell-script

-2
推荐指数
1
解决办法
123
查看次数

标签 统计

shell-script ×4

bash ×3

shell ×3

scripting ×2

ash ×1

ksh ×1

regular-expression ×1

variable ×1