相关疑难解决方法(0)

如何在Bash中连接字符串变量

在PHP中,字符串连接在一起如下:

$foo = "Hello";
$foo .= " World";
Run Code Online (Sandbox Code Playgroud)

在这里,$foo成为"Hello World".

在Bash中如何实现?

syntax bash shell concat string-concatenation

2624
推荐指数
25
解决办法
343万
查看次数

测试string是否为有效整数

我正在尝试做一些常见的事情:在shell脚本中解析用户输入.如果用户提供了有效的整数,则脚本会执行一项操作,如果无效,则执行其他操作.麻烦的是,我还没有找到一种简单(而且相当优雅)的方式 - 我不想用char来区分char.

我知道这一定很容易,但我不知道如何.我可以用十几种语言来做,但不是BASH!

在我的研究中,我发现了这个:

正则表达式,用于测试字符串是否包含基数为10的有效实数

其中有一个关于正则表达式的答案,但据我所知,这是C(以及其他)中可用的函数.尽管如此,它看起来像是一个很好的答案,所以我用grep尝试了它,但是grep不知道该怎么做.我试过-P在我的盒子上意味着把它当作PERL regexp - nada.Dash E(-E)也没有用.并且-F都没有.

为了清楚起见,我正在尝试这样的东西,寻找任何输出 - 从那里,我将破解脚本以利用我得到的任何东西.(IOW,我期待一个不合格的输入在有效行重复时不返回任何内容.)

snafu=$(echo "$2" | grep -E "/^[-+]?(?:\.[0-9]+|(?:0|[1-9][0-9]*)(?:\.[0-9]*)?)$/")
if [ -z "$snafu" ] ;
then
   echo "Not an integer - nothing back from the grep"
else
   echo "Integer."
fi
Run Code Online (Sandbox Code Playgroud)

有人请说明这是最容易做到的吗?

坦率地说,在我看来,这是TEST的缩影.它应该有这样的旗帜

if [ -I "string" ] ;
then
   echo "String is a valid integer."
else
   echo "String is not a valid integer."
fi
Run Code Online (Sandbox Code Playgroud)

string bash integer if-statement

108
推荐指数
7
解决办法
14万
查看次数

bash是一种编程语言吗?

TL; DR; 什么是shell脚本?它是一种编程语言/我们在shell脚本中使用的编程语言是什么?


免责声明:有点offtopic
所以bash代表Bourne-again shell.(Unix)Shell是一个命令行用户界面,或者可以称之为解释器(?)

所以我正在填写一份新工作的应用程序,你会被要求获得不同编程语言的经验,然后在底层有其他经验 - 我开始输入python 2.7,powershell,bas ...等等!bash不是一种编程语言 - 它是一个可以执行shell脚本的控制台...所以......呃......天哪,我不知道!

bash

51
推荐指数
4
解决办法
5万
查看次数

检查变量是否为UNIX shell中的数字

如何在UNIX shell中检查变量是否为数字或包含数字?

unix shell

22
推荐指数
4
解决办法
10万
查看次数

为什么测试"$?" 一个反模式,看一个命令是否成功?

在这里看到测试是否$?是零(成功)或其他东西(失败)是反模式,但我无法在其他任何地方找到它.

坚持维基百科反模式的定义:"反模式(或反模式)是对反复出现的问题的常见反应,这种反复出现的问题通常是无效的,并且可能会产生极大的反作用." 为什么这会是反模式?

bash shell sh

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

如何在 bash 中打印用户输入的平方根?

我最近在 bash 中发现了“bc”,我一直在尝试用它来打印用户输入的平方根。我在下面编写的程序运行成功,但它只打印出“0”而不是用户输入的平方根。

这是我写的代码:

 #!/data/data/com.termux/files/usr/bin/bash

 echo "input value below"
 read VAR
 echo "square root of $VAR is..."

 echo $((a))                                  
 a=$(bc <<< "scale=0; sqrt(($VAR))")
Run Code Online (Sandbox Code Playgroud)

我的代码有什么问题?我错过了什么?

bash

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

带 bash 的条件否定

我正在做一个基本的脚本,询问用户关于他/她的一些细节。事实是,如果用户没有输入年龄(数字),脚本会用一条消息警告,我想设置条件。我知道以某种方式放置了类似的东西:

如果 [ $age != [0-9] ]

但它不起作用。

有什么建议吗?

泰。

bash

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

在bash中检查输入是否为数字

我想编写程序来检查给定的输入是否为 number。谁能帮我?

 if [ $Number -ne 0 -o $Number -eq 0 2>/dev/null ]
 then ...
Run Code Online (Sandbox Code Playgroud)

-o在上面的命令中代表什么?

bash numbers

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

Bash - 返回一个布尔检查

我创建了一个执行正则表达式检查的简单函数:

function is_number()
{
    return [[ "$1" =~ ^-?[0-9]+$ ]]
}
Run Code Online (Sandbox Code Playgroud)

我得到的是

return: [[: numeric argument required
Run Code Online (Sandbox Code Playgroud)

我究竟做错了什么?

bash

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