- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我想将我的 shell 脚本转换为使用数据驱动的方法。但是由于在任何 shell 中都没有“表”类型的值(据我所知),有什么建议的替代方法可以做到这一点?
我正在寻找的解决方案可以让人们做如下事情:
animals = [['horse', 300 'brown'],
['cat', 3, 'black'],
['elephant', 3000, 'grey'],
['mouse', 0.3, 'grey']]
for a in animals ; do
echo "A typical $a[1] is $a[3] and weighs about $a[2] kilograms."
done
更准确地说,我想尝试一些命令,看看其中一个是否可用,然后向它发送参数:
commands = [['c1', '-m', '-i'],
['c2', '-message', '-icon'],
['c3', '/m', '/i']]
for c in commands ; do
if exists c[1] ; then
command = c[1]
message_option = c[2]
icon_option = c[3]
break;
fi
done
$command $message_option "message" $icon_option icon
最佳答案
不需要任何 bashism。这可以通过 while read
循环读取的 here-document 巧妙地解决:
#!/bin/sh
while read animal weigth colour; do
printf '%s\n' "A typical $animal is $colour and weighs about $weight kilos."
done << EOF
horse 300 brown
cat 3 black
elephant 3000 grey
mouse 0.3 grey
EOF
观察这是如何按名称引用元素的,而不是使用 1、2、3 的神秘索引。它不会 fork /执行任何外部命令,并且击败了另一个答案中看到的循环体中的 3 个 awks。
关于shell - 数据驱动的 shell 编程?请提出建议,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40783097/
我正在尝试使用 ksoap2 库版本 3.6.2 向 SOAP API 发出请求。 问题是我收到错误消息: "SoapFault - faultcode: 'soap:Server' faultstr
我是 python 3(和一般的 python)的新手,我决定尝试以我自己的方式制作密码和解密作为个人项目。密码通过生成一个随机数并将字母数值乘以它来工作。它将所有这些相乘的值添加到一个列表中,然后在
我在我的 objective-c 项目中使用第 3 方外部框架。我在这个项目中创建了一个 swift 文件来使用该框架。 在 MyModule-Bridging-Header.h 我导入了外部框架头文
目前 .slcache 目录位于 %USER_HOME%\.grails\.slcache里面有大约 12M 的数据。我在受限的公司环境中工作,这导致我的 Windows 配置文件分配出现问题(遗憾的
因此,我目前正在开发一个利用 Google Places API 的原型(prototype),并且正在努力处理此处显示的 API 文档:https://developers.google.com/p
以下代码: t = paramiko.Transport((hostname, port)) t.connect(username=username, password=passwor
我可以在 GitHub 上对其他人的 Gist 提出 pull 请求吗? 我知道我拥有的 Gist 的 fork 、克隆和提交工作流程。我想知道我是否可以请求用我的 fork 更新别人的 Gist 。
我有下一个方法调用: Formatting.git_log_to_html(`git log --no-merges master --pretty=full #{interval}`) interv
我需要一条 sql 语句(或者如果效率更高的话我可以用 Java 执行)来显示汇总表。当我只显示一列统计信息时,它会按我的预期显示: SELECT refresh_job_detail.refres
我是一名优秀的程序员,十分优秀!