我想通过使用Google Maps API 3点击标记打开一个新窗口.
不幸的是,Google Maps API的示例并不多,我发现了这段代码:
google.maps.event.addListener(marker, 'click', function() {
window.location.href = marker.url;
});
Run Code Online (Sandbox Code Playgroud)
当我用循环创建标记时如何使用它?我在很多方面都尝试过它而且没有能力.
这是我的代码 - 我简单而简短:
<!DOCTYPE html>
<html>
<head>
<meta name="viewport" content="initial-scale=1.0, user-scalable=no" />
<style type="text/css">
html { height: 100% }
body { height: 100%; margin: 0; padding: 0 }
#map_canvas { height: 100% }
</style>
<script type="text/javascript" src="http://maps.googleapis.com/maps/api/js?sensor=false"></script>
<script type="text/javascript">
var points = [
['name1', 59.9362384705039, 30.19232525792222, 12],
['name2', 59.941412822085645, 30.263564729357767, 11],
['name3', 59.939177197629455, 30.273554411974955, 10]
];
function setMarkers(map, locations) {
var shape = { …Run Code Online (Sandbox Code Playgroud) javascript google-maps google-maps-api-3 google-maps-markers
我对在bash中打印包含新行符号的变量感到困惑.
var="Age:\n20\ncolor:\nred"
echo -e $var
Age:
20
color:
red
Run Code Online (Sandbox Code Playgroud)
这是有效的,但是很多人说使用选项的回声是不可移植的,并且最好使用printf.
我从来没用过prinf.根据手册发出echo命令:
printf '%s\n' "$var"
Age:\n20\ncoloe:\nred
Run Code Online (Sandbox Code Playgroud)
但是这并没有解析内部变量.手册通常有这个例子:
printf "Surname: %s\nName: %s\n" "$SURNAME" "$LASTNAME"
Run Code Online (Sandbox Code Playgroud)
但这不是我的情况,从我的观点来看,使用起来并不舒服.我只是通过键入我发现我可以使用它:
printf"$ var \n"
它是便携式的吗?如果我然后将$ var传递给邮件命令,它会保存新的换行符吗?
printf "$var\n" | mail -s subj email@domain.com
Run Code Online (Sandbox Code Playgroud) 我在数组中有以下数据:
MY_ARR[0]="./path/path2/name.exe 'word1 word2' 'name1,name2'"
MY_ARR[1]="./path/path2/name.exe 'word1 word2' 'name3,name4,name5'"
MY_ARR[2]=".name.exe 'word1 word2'"
MY_ARR[3]="name.exe"
MY_ARR[4]="./path/path2/name.exe 'word1 word2' 'name1'"
MY_ARR[5]="./path/path2/name.exe 'word1 word2' 'name.exe, name4.exe, name5.exe'"
Run Code Online (Sandbox Code Playgroud)
我想把它分成两个变量:$file和$parameter.
例:
file="./path/path2/name.exe"
parameter="'word1 word2' 'name1,name2'"
Run Code Online (Sandbox Code Playgroud)
我可以用awk做到这一点:
parameter=$(echo "${MY_ARR[1]}" | awk -F\' '{print $2 $4}')
file=$(echo "${MY_ARR[1]}" | awk -F\' '{print $1}')
Run Code Online (Sandbox Code Playgroud)
这需要删除尾随空格并且看起来很复杂.
有没有更好的方法呢?
如何找到内置bash函数的来源?
我知道这是一个功能:
$type -t MY_APP
function
Run Code Online (Sandbox Code Playgroud)
我看到它的代码:
type MY_APP
code
Run Code Online (Sandbox Code Playgroud)
问题是:
如何使bash执行变量值.例如,我们有这个代码,其中变量值用单引号(!)设置.
#!/bin/bash
V_MY_PATH='$HOME'
echo "$V_MY_PATH"
ls $V_MY_PATH
Run Code Online (Sandbox Code Playgroud)
输出是
$HOME
ls: $HOME: No such file or directory
Run Code Online (Sandbox Code Playgroud)
如果有的话,如何使bash转换shell变量insto的值.
我想在V_MY_PATH ='$ HOME'之后添加一些代码来输出echo $ HOME.
这很简单,但我被卡住了.(注意:我知道使用V_MY_PATH ="$ HOME",它可以正常工作.)
编辑部分:我只是想简单,但我觉得需要一些细节.
我从文件中获取参数.这部分很好用.我不想重写它.问题是,当我的V_MY_PATH包含一个预定义的变量(如$ home)时,它不会被视为其值.
我有一个带Hello.java的简单jar:
class Hello {
public static void main(String[] a) {
System.out.println("Hello world!");
}
}
Run Code Online (Sandbox Code Playgroud)
我想通过JAVA_TOOL_OPTIONS传递一些选项.如果$ JAVA_TOOL_OPTIONS长度的值小于或等于1024,则拾取它:
$export JAVA_TOOL_OPTIONS=$(for i in {1..43}; do echo -n "-Dmyapp.opt${i}="123456789" "; done)
$ echo $JAVA_TOOL_OPTIONS | wc -c
1023
java -jar hello.jar
Picked up JAVA_TOOL_OPTIONS: -Dmyapp.opt1=123456789 -Dmyapp.opt2=123456789 -Dmyapp.opt3=123456789 -Dmyapp.opt4=123456789 -Dmyapp.opt5=123456789 -Dmyapp.opt6=123456789 -Dmyapp.opt7=123456789 -Dmyapp.opt8=123456789 -Dmyapp.opt9=123456789 -Dmyapp.opt10=123456789 -Dmyapp.opt11=123456789 -Dmyapp.opt12=123456789 -Dmyapp.opt13=123456789 -Dmyapp.opt14=123456789 -Dmyapp.opt15=123456789 -Dmyapp.opt16=123456789 -Dmyapp.opt17=123456789 -Dmyapp.opt18=123456789 -Dmyapp.opt19=123456789 -Dmyapp.opt20=123456789 -Dmyapp.opt21=123456789 -Dmyapp.opt22=123456789 -Dmyapp.opt23=123456789 -Dmyapp.opt24=123456789 -Dmyapp.opt25=123456789 -Dmyapp.opt26=123456789 -Dmyapp.opt27=123456789 -Dmyapp.opt28=123456789 -Dmyapp.opt29=123456789 -Dmyapp.opt30=123456789 -Dmyapp.opt31=123456789 -Dmyapp.opt32=123456789 -Dmyapp.opt33=123456789 -Dmyapp.opt34=123456789 -Dmyapp.opt35=123456789 -Dmyapp.opt36=123456789 -Dmyapp.opt37=123456789 -Dmyapp.opt38=123456789 -Dmyapp.opt39=123456789 -Dmyapp.opt40=123456789 …Run Code Online (Sandbox Code Playgroud) 我有一个从json接收数据的bash脚本.我想将json解析委托给python并使用bash操作其他东西.所以我尝试了以下它并且它有效:
$cat json.txt | python -c "import sys, json; app_data=json.load(sys.stdin); print app_data['item'][0]['id'];"
Run Code Online (Sandbox Code Playgroud)
我决定查看列表大小:
$cat json.txt | python -c 'import sys, json; app_data=json.load(sys.stdin); if len(app_data['item'])==1: print '1 item:'; print app_data['item'][0]['id']'
Run Code Online (Sandbox Code Playgroud)
它因SyntaxError失败:语法无效.
列表大小检查(上面的代码)通常来自单独的.py文件.我更喜欢使用单行代码来保持简单并在shell脚本中存储在一起.
是否可以使用某些逻辑运行python one-liner(如import json)和if block?
bash ×4
shell ×2
awk ×1
built-in ×1
command-line ×1
cut ×1
google-maps ×1
jar ×1
java ×1
javascript ×1
linux ×1
printf ×1
python ×1
split ×1
string ×1