标签: bash

从括号中提取字符串

我在bash上很新,所以这是一个非常棒的问题..

假设我有一个字符串:

string1 [string2] string3 string4
Run Code Online (Sandbox Code Playgroud)

我想string2从方括号中提取; 但是括号可能在任何其他时间围绕任何其他字符串.

我如何使用sed等来做这个?谢谢!

bash sed

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

为什么$((true == false))在bash中评估为1?

为什么bash有以下行为?

echo $((true == false))
1
Run Code Online (Sandbox Code Playgroud)

我原本以为这会打印0,但会打印出来1.

以下事实使这进一步复杂化:

> echo $((true))
0
> echo $((false))
0
> echo $((true == true))
1
> echo $((false == false))
1
Run Code Online (Sandbox Code Playgroud)

bash

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

如何在Mac OS X中的bash中创建md5哈希

如何使用mac为mac上的字符串创建md5哈希bashmd5sum在我的环境中不存在.我man为md5 做了一个但是我对这真的很困惑.

md5 "string"
Run Code Online (Sandbox Code Playgroud)

不返回哈希值.

macos bash cryptography

46
推荐指数
3
解决办法
6万
查看次数

在BASH中,是否可以在函数体中获取函数名称?

在BASH中,是否可以在函数体中获取函数名称?以下面的代码为例,我想在其正文中打印函数名"Test",但"$ 0"似乎是指脚本名而不是函数名.那么如何获取函数名称?

#!/bin/bash

function Test
{
    if [ $# -lt 1 ]
    then
        #   how to get the function name here?
        echo "$0 num" 1>&2
        exit 1
    fi
    local num="${1}"
    echo "${num}"
}

#   the correct function
Test 100

#   missing argument, the function should exit with error
Test

exit 0
Run Code Online (Sandbox Code Playgroud)

bash shell

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

使用括号扩展范围中的变量馈送到for循环

这是myscript.sh

#!/bin/bash
for i in {1..$1};
do
    echo $1 $i;
done
Run Code Online (Sandbox Code Playgroud)

如果我运行myscript.sh 3输出是

3 {1..3}
Run Code Online (Sandbox Code Playgroud)

代替

3 1
3 2
3 3
Run Code Online (Sandbox Code Playgroud)

显然$3包含正确的值,为什么不像for i in {1..$1}for i in {1..3}直接写的一样?

bash for-loop brace-expansion

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

如何在bash中简单地计算两个变量的最小值?

我有一个bash脚本检查平台上的CPU数量,以有效地使用-jmake,repo等选项.我使用这个:

JOBS=$(cat /proc/cpuinfo | grep processor | tail -1 | sed "s,^.*:.*\([0-9].*\)$,\1,")
echo -e "4\n$JOBS" | sort -r | tail -1
Run Code Online (Sandbox Code Playgroud)

它工作正常.但是,我想知道是否有任何内置函数执行相同的操作(即计算最小值或最大值)?

bash logical-operators

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

添加到tar存档后删除文件

GNU tar可以将多个文件添加到存档中,在添加时删除每个文件吗?

当没有足够的磁盘空间来容纳整个tar存档和原始文件时,这很有用 - 因此,在以通常方式创建存档后,无法简单地手动删除文件.

unix compression bash tar

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

shell脚本中"=〜"运算符的含义

我遇到了代码所在的shell脚本

for line in $LIST_ARRAY;do
if [[ $LIST_ARRAY =~ $line ]]
then
echo "true"
....
...
.
Run Code Online (Sandbox Code Playgroud)

什么是使用=~在这种情况下?

regex linux bash shell

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

为什么我的终端没有正确输出unicode字符?

例如,我的终端执行此操作:

$ echo -e "\xE2\x98\xA0"
???
Run Code Online (Sandbox Code Playgroud)

我希望它能做到这一点:

$ echo -e "\xE2\x98\xA0"
?
Run Code Online (Sandbox Code Playgroud)

为什么?如何使终端输出正确的unicode符号?

我在Arch Linux上使用Gnome 3的终端.

locale节目的输出:

LANG=C
LC_CTYPE="C"
LC_NUMERIC="C"
LC_TIME="C"
LC_COLLATE="C"
LC_MONETARY="C"
LC_MESSAGES="C"
LC_PAPER="C"
LC_NAME="C"
LC_ADDRESS="C"
LC_TELEPHONE="C"
LC_MEASUREMENT="C"
LC_IDENTIFICATION="C"
LC_ALL=
Run Code Online (Sandbox Code Playgroud)

bash shell terminal console command-line

46
推荐指数
3
解决办法
8万
查看次数

linux脚本杀死java进程

我希望linux脚本能够杀死在控制台上运行的java程序.

以下是以jar运行的进程.

[rapp@s1-dlap0 ~]$ ps -ef |grep java
rapp    9473    1  0 15:03 pts/1    00:00:15 java -jar wskInterface-0.0.1-SNAPSHOT-jar-with-dependencies.jar
rapp   10177  8995  0 16:00 pts/1    00:00:00 grep java
[rapp@s1-dlap0 ~]$
Run Code Online (Sandbox Code Playgroud)

linux bash kill-process

46
推荐指数
3
解决办法
15万
查看次数