- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我正在使用 bourne shell 并想执行以下操作:
COUNTER=0
CIRCLEPART1="|"
CIRCLEPART2="/"
CIRCLEPART3="--"
CIRCLEPART4='\'
while [ $COUNTER -lt 3 ]; do
ACT_CIRCLEPART=CIRCLEPART$COUNTER
echo "Hello `eval \${ACT_CIRCLEPART}`"
COUNTER=`expr $COUNTER + 1`
done
我想在每个循环中处理其中一个 CIRCLE 名称。我在 stackoverflow 上找到了一个代码片段,但它也不起作用,因为我的输出是“Hello, 8537{myConstructedVar}。”:
FOOCOUNT=4
FOO_0=John
FOO_1=Barry
FOO_2=Lenny
FOO_3=Samuel
count=$FOOCOUNT
counter=0
while [ $counter -lt $count ]
do
myConstructedVar=FOO_$counter
counter=`expr $counter + 1`
echo "Greeting #$counter: Hello, `eval echo \$${myConstructedVar}`."
done
感谢您的帮助。问候。
最佳答案
我没有普通的 sh
来测试它(我试过 bash --posix
),但这可能会完成工作:
COUNTER=0
CIRCLEPART1="|"
CIRCLEPART2="/"
CIRCLEPART3="--"
CIRCLEPART4='\'
while [ $COUNTER -lt 3 ]; do
ACT_CIRCLEPART=CIRCLEPART$COUNTER
eval echo "Hello \$$ACT_CIRCLEPART"
COUNTER=`expr $COUNTER + 1`
done
输出是:
Hello
Hello |
Hello /
这也适用于 bash
。
输出的第一行引用了未定义的CIRCLEPART0
。对此进行更正并遍历所有定义的变量:
COUNTER=1
CIRCLEPART1="|"
CIRCLEPART2="/"
CIRCLEPART3="--"
CIRCLEPART4='\'
while [ $COUNTER -lt 5 ]; do
ACT_CIRCLEPART=CIRCLEPART$COUNTER
eval echo "Hello \$$ACT_CIRCLEPART"
COUNTER=`expr $COUNTER + 1`
done
输出是:
Hello |
Hello /
Hello --
Hello \
关于linux - Bourne shell 构建字符串并将其用作参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25326228/
我想在 Bourne shell 中编写一个循环来迭代一组特定的数字。通常我会使用 seq : for i in `seq 1 10 15 20` #do stuff loop 但是貌似在这个S
我正在尝试根据正则表达式验证用户输入。 vari=A if [ $vari =~ [A-Z] ] ; then echo "hurray" fi 我得到的输出是 swf.sh[3]: =~:
我正在尝试对脚本中的输出数据进行一些格式化,但不知道如何进行左右对齐以及宽度。谁能指出我正确的方向? 最佳答案 你可以使用printf。示例 $ printf "%15s" "col1" $ prin
我有一个运行在预设环境变量包括的地方的 shell: FOOCOUNT=4 FOO_0=John FOO_1=Barry FOO_2=Lenny FOO_3=Samuel 我无法改变获取这些数据的方式
我有以下脚本 cat $1 | while read line do line=`echo $line | tr "[:lower:]" "[:upper:]"` if [ "`ech
$ freebsd-version 10.3-RELEASE-p17 $ portinstall() { port="$1"; shift env="$@" #1 en
(这间接地是更大的家庭作业的一部分) 我有类似的东西 在阅读 LINE 时 做 事情完成到$LINE echo "输入输入:" 读取输入 完成到 $INPUT 的事情 完成 我找不到使用控制台/默认标
编写 Bash 脚本或 Bourne 脚本哪个更好?我的团队编写 Bourne 脚本,但我不完全确定为什么。 如果这是一个圣战问题(即:vim vs. emacs)请直接回复:圣战。 最佳答案 这取决
我有很多变量 var1 var2 ... varx 可能为空也可能不为空。我不想有多个 if 语句并且想知道如何进行循环,我向其提供变量列表并检查它们是否为空。如果一个变量为空,它的值应该设置为- 最
我正在使用 bourne shell 并想执行以下操作: COUNTER=0 CIRCLEPART1="|" CIRCLEPART2="/" CIRCLEPART3="--" CIRCLEPART4=
我在 Upstart 脚本中使用 echo 来记录事情: script echo "main: some data" >> log end script post-start script
最近我一直在尝试在 Ubuntu 中自定义位于 ~/.profile 的 shell 配置文件。我想做的一件事是: # PATH-like variable containing paths sepa
我想重复 # 10 次,比如: "##########" 如何在 Bourne shell (/bin/sh) 中执行此操作?我试过使用 print,但我猜它只适用于 bash shell。 请不要给
假设我有一些可以接受多个选项的实用程序,每个选项后跟一个文件名。例如,我可以将其称为 myutil , myutil -o somefile , myutil -p anotherfile , myu
这个问题在这里已经有了答案: Delete specific line number(s) from a text file using sed? (7 个回答) 5年前关闭。 我正在 Bourne
我想测试一个字符串是否有“子字符串”。大多数在线答案都基于 Bash。我试过了 if [ $string == "*substring*" ] 这是行不通的。现在 if echo ${string}
这个问题在这里已经有了答案: When to wrap quotes around a shell variable? (5 个回答) 6年前关闭。 我想创建一些脚本来填充一些模板并将它们插入到我的项
我需要比较 shell 中的字符串: var1="mtu eth0" if [ "$var1" == "mtu *" ] then # do something fi 但显然“*”在 shel
在bourne shell中,我有以下内容: VALUES=`some command that returns multiple line values` echo $VALUES 好像: "ONE
我有一个 Bourne shell (/bin/sh) 脚本(为了可移植性)想要监视另一个程序。它应该启动另一个程序,然后等待它退出。当第二个程序退出时,它会做一些最后的工作并自行退出。问题是脚本还需
我是一名优秀的程序员,十分优秀!