我正在提供一个带有以下内容的 while 循环
#!/bin/bash
number1=1
while [ -z "$number2" ] | [ "$number2" == 404 ] & [ "$number2" != 200 ] & [ "$number1" -lt 13 ]; do
#number2=$(some command which can actually get a number)
number2=200 # <<< e.g. a command that would return
let number1=number1+1
done
Run Code Online (Sandbox Code Playgroud)
If
number2is null 做循环
Ifnumber2is 404 做循环
Ifnumber2is 200 不要做循环
做循环直到number1是 12
当我尝试循环时,number2=200它不会停止。似乎我在让它停止 where number2is 方面遇到了挑战200。
我如何编写语句以便在number2=200 …
我有一个字符串-w o rd。
我需要将它拆分为w o r d或数组,因为'w' 'o' 'r' 'd'
它并不重要。
我已经尝试了以下
IFS='\0- ' read -a string <<< "-w o rd"
echo ${string[*]}
Run Code Online (Sandbox Code Playgroud)
rd不会分裂。我怎样才能让它分裂
我有以下
#!/bin/bash
function f1 ()
{
echo "${@:1:-2}"
}
f1 1 2 3 4 5 6
Run Code Online (Sandbox Code Playgroud)
我需要 echo1 2 3 4 5
man bash告诉我,当我使用时,@我不能使用负长度。
我求助于使用计算 ( "${@:1:$((${#@}-1))}") 这对我来说似乎是非正统的。
如何从输出中排除最后一个参数?
我需要这样做IFS=",";echo {1..5}才能输出1,2,3,4,5而不是1 2 3 4 5. 如何使 bash echo {1..5} 并用逗号输出值?
我有以下
#!/bin/bash
function f1 ()
{
echo "all parameters with more than 2 characters"
}
f1 123 45 6789
Run Code Online (Sandbox Code Playgroud)
我需要对字符大于 2 的参数做一些事情。我可以在不将"$@"扩展到循环的情况下回显它们,然后进行检查wc -c
在这种情况下,我需要输出123 6789
我有aaaaaa"bbbbb"aaaa我只想输出的文本bbbbb
我试过,sed -e 's/"\(.*\)"/\1/'但它只剪切"字符。我如何正确过滤这个