相关疑难解决方法(0)

如何在Bash中将字符串转换为小写?

有一种方法可以将字符串转换为小写字符串吗?

例如,如果我有:

a="Hi all"
Run Code Online (Sandbox Code Playgroud)

我想将其转换为:

"hi all"
Run Code Online (Sandbox Code Playgroud)

string bash shell lowercase uppercase

1158
推荐指数
20
解决办法
83万
查看次数

如何为curl命令urlencode数据?

我正在尝试编写一个用于测试的bash脚本,它接受一个参数并通过curl将其发送到网站.我需要对值进行url编码,以确保正确处理特殊字符.做这个的最好方式是什么?

这是我到目前为止的基本脚本:

#!/bin/bash
host=${1:?'bad host'}
value=$2
shift
shift
curl -v -d "param=${value}" http://${host}/somepath $@
Run Code Online (Sandbox Code Playgroud)

bash shell scripting curl urlencode

300
推荐指数
26
解决办法
30万
查看次数

何时在shell变量周围包装引号?

有人能告诉我是否应该在shell脚本中包含变量的引号?

例如,以下是正确的:

xdg-open $URL 
[ $? -eq 2 ]
Run Code Online (Sandbox Code Playgroud)

要么

xdg-open "$URL"
[ "$?" -eq "2" ]
Run Code Online (Sandbox Code Playgroud)

如果是这样,为什么?

unix linux bash shell quotes

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

如何在Unix Shell中遍历字符串中的每个字母

我试图通过read命令迭代作为输入的字符串.我正在尝试输出每个字母和每个字母的数量然后应该使用循环依次输出每个字母.例如,如果用户输入"picasso",则输出应为:

信1:p信2:我信3:c信4:信5:信6:信7:o

这是我目前的代码:

#!/bin/bash

# Prompt a user to enter a word and output each letter in turn.


read -p "Please enter a word: " word

for i in $word
do
 echo "Letter $i: $word"
done
Run Code Online (Sandbox Code Playgroud)

我应该将输入放入数组吗?我仍然是编程循环的新手,但我发现无法弄清楚逻辑.

有什么建议?谢谢.

unix bash shell

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

Bash:如何从数字中提取数字

所以我在我的脚本中引入一个数字,就像这样:

./script 795
Run Code Online (Sandbox Code Playgroud)

我想从该数字中提取每个数字并检查它是否小于7.如下所示:

if [ 7 -le 7 ]
then 
echo "The first digit is smaller than 7"
Run Code Online (Sandbox Code Playgroud)

我想知道如何提取每个数字.

unix bash shell

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

如何在POSIX shell脚本中迭代字符串的字符?

符合POSIX的shell应提供这样的机制来迭代字符串集合:

for x in $(seq 1 5); do
    echo $x
done
Run Code Online (Sandbox Code Playgroud)

但是,如何迭代单词的每个字符?

shell posix sh dash-shell

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

bash循环遍历字符串中的所有字符

我应该如何遍历字符串中的所有字符。

我的伪代码

stringVar="abcde"

for var in stringvar
{
   do some things with var
}
Run Code Online (Sandbox Code Playgroud)

结果我需要
一个

C

d

我想循环所有的变量,但我只能让它与一个空格分割的变量一起工作,比如

 stringVar="a b c"


for var in stringVar; do
   echo $var
done;
Run Code Online (Sandbox Code Playgroud)

结果

一种

C

但我不能为一个没有用空格分割的字符串做这件事。

该问题被标记为重复,但在链接的问题中没有一个答案(带有赞成票)可用。

bash shell

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

标签 统计

shell ×7

bash ×6

unix ×3

curl ×1

dash-shell ×1

linux ×1

lowercase ×1

posix ×1

quotes ×1

scripting ×1

sh ×1

string ×1

uppercase ×1

urlencode ×1