我有如下的json,我需要在bash脚本中只获取上面json的邮件
value = {"count":5,"users":[{"username":"asa","name":"asa Tran","mail":"asa@xyz.com"},{"username": "qq","name":"qq Morris","mail":"qq@xyz.com"},{"username":"qwe","name":"qwe Org","mail":"qwe @ xyz.com"}]}
输出可以是
mail=asa@xyz.com,qq@xyz.com,qwe@xyz.com
Run Code Online (Sandbox Code Playgroud)
以上所有内容都需要在bash脚本(.sh)中完成
我已经尝试过使用数组迭代但没有用
for key in "${!value[@]}"
do
#echo "key = $key"
echo "value = ${value[$key]}"
done
Run Code Online (Sandbox Code Playgroud)
即使我已尝试使用数组转换
alias json-decode ="php -r'print_r(json_decode(file_get_contents(\"php:// stdin \"),1));'"value = $(curl --user $ credentials -k $ endPoint | json-解码)
仍然我无法获得具体的输出.
这是我正在做的一件简单的事情
echo "please enter a command"
read x
$x
checkexitstatus()
{...}
Run Code Online (Sandbox Code Playgroud)
checkexit status 是在其他地方创建的 ifloop 只是为了检查退出状态
我想知道的是,当我运行 $x 时,它不会显示在屏幕上,我想知道是否可以不将输出重定向到文件
使用环境变量(如PATH)作为$ PATH或$ {PATH}有什么区别?
好吧,也许我正在做一些非常愚蠢的事情.
我在OSX 10.6.1上.
我想在我的路径中添加mysql,所以我将以下内容添加到我的.bashrc中
PATH = ${PATH}:/usr/local/mysql/bin
export PATH
Run Code Online (Sandbox Code Playgroud)
在运行终端时,它不起作用,我希望,因为.bash_profile目前没有加载.bashrc.
但如果我手动输入bash,我会收到以下错误
bash: PATH: command not found
Run Code Online (Sandbox Code Playgroud)
我究竟做错了什么?
我在编译一个简单的C程序时遇到错误.
#include<stdio.h>
void main()
{
int i=5;
printf("I value is %d",i);
}
Run Code Online (Sandbox Code Playgroud)
错误是......
/usr/local/bin/ld: this linker was not configured to use sysroots
collect2: error: ld returned 1 exit status
Run Code Online (Sandbox Code Playgroud)
我的gcc版本是..
gcc (Ubuntu/Linaro 4.7.2-2ubuntu1) 4.7.2
Copyright (C) 2012 Free Software Foundation, Inc.
Run Code Online (Sandbox Code Playgroud)
谁能知道我的问题是什么?
cat /proc/stat gives values in jiffies
cat /proc/[pid]/stat gives values in tick count.
Run Code Online (Sandbox Code Playgroud)
ticcount 和 jiffies 到底有什么区别,两者之间的转换公式是什么?
我有一个如下所示的 shell 脚本:
foreach dir (i686.* amd64.*)
# commands
end
Run Code Online (Sandbox Code Playgroud)
此脚本的问题在于,如果没有与这些名称匹配的目录,则会出现以下错误:
"foreach: No match."
Run Code Online (Sandbox Code Playgroud)
防止此错误的优雅方法是什么?
我有一个名为Det.xml的xml,如下所示:
<?xml version="1.0" encoding="UTF-8"?>
<S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/">
<S:Body>
<ns4:grtHgetRed xmlns:ns2="http://object" xmlns:ns3="http://object" xmlns:ns4="http://object">
<RequestId>lol</RequestId>
<MessageDateTime>54.009</MessageDateTime>
<SenderId>UH</SenderId>
<ReceiverId>GER</ReceiverId>
<TrackingNumber>45</TrackingNumber>
<ServerName>trewds</ServerName>
<ResponseType>success</ResponseType>
<StatusInfo>
<Status>success</Status>
<SystemMessage>Hagert</SystemMessage>
<UserMessage>Hgert</UserMessage>
<Origination>htref</Origination>
</StatusInfo>
</ns4:grtHgetRed>
</S:Body>
</S:Envelope>
Run Code Online (Sandbox Code Playgroud)
我试图从Unix shell脚本中获取它的ResponseType节点值,所以我尝试了以下内容:successxmllint
echo "cat //*[local-name()='S:Envelope'/*[local-name()='S:Body']/*[local-name()='ns4:grtHgetRed']/*[local-name()='ResponseType']" | xmllint --shell Det
.xml | sed '/^\/ >/d' | sed 's/<[^>]*.//g'
Run Code Online (Sandbox Code Playgroud)
但它不起作用.我也没有xpath在我的unix环境中.任何人都可以告诉我这里我做错了什么吗?
我们怎样才能在hudson上捕获作业的中止信号,这样我就可以在中止的情况下做一些后续步骤(我在hudson上运行一个有后台运行shell脚本的工作)?
我有一个数百行的文件格式如下:
#blah
RewriteCond %{HTTP_HOST} www.blah.com [NC]
RewriteRule ^/xyz(|/)$ http://www.blah.com/404.html [R=301,L,NC]
#xblah
RewriteCond %{HTTP_HOST} www.blah.com [NC]
RewriteRule ^/hkf(|/)$ http://www.blah.com/404.html [R=301,L,NC]
#ablah
RewriteCond %{HTTP_HOST} www.blah.com [NC]
RewriteRule ^/abc/.*(|/)$ http://www.blah.com/404.html [R=301,L,NC]
Run Code Online (Sandbox Code Playgroud)
我想在awk/sed中创建一个脚本,使用每组文本第三行中的第二个参数对该文件进行字母顺序排列.在这个文件的情况下,它是"abc","hkf"或"xyz",可以是任何东西 - 它们是在这个apache重定向文件中创建的重定向.
我想我想做的是:
我的预期输出看起来像这样:
#ablah
RewriteCond %{HTTP_HOST} www.blah.com [NC]
RewriteRule ^/abc/.*(|/)$ http://www.blah.com/404.html [R=301,L,NC]
#xblah
RewriteCond %{HTTP_HOST} www.blah.com [NC]
RewriteRule ^/hkf(|/)$ http://www.blah.com/404.html [R=301,L,NC]
#blah
RewriteCond %{HTTP_HOST} www.blah.com [NC]
RewriteRule ^/xyz(|/)$ http://www.blah.com/404.html [R=301,L,NC]
Run Code Online (Sandbox Code Playgroud)
这有意义吗?有一个更好的方法吗?
ps我的目的是使脚本可移植,以便它可以在这个结构的几个文件上使用.在建议解决问题的代码时,请尽可能地拼出像我这样的新职级,开始了解如何有效地解决这个问题,并能够扩展最终结果.
任何和所有的帮助非常感谢.