我有以下在 shell 脚本中运行的代码
foo=`seq 1 1 100`
for i in $foo; do
echo "input$i\_now"
done
Run Code Online (Sandbox Code Playgroud)
这是我的问题:在某些情况下,输出会打印,input1_now而有时会打印input1\_now. 我确定有些东西是不同的,但我无法弄清楚是什么让它以一种或另一种方式打印。如果我的代码是
for i in $foo; do
echo "input$i_now"
done
Run Code Online (Sandbox Code Playgroud)
我总是会input忽略该行的其余部分。
我知道我可以input${i}_now改用并让它每次都正确打印,但我最感兴趣的是理解为什么在看似相同的条件下输出不同。
更新:
在以下示例中,第一部分正确设置了变量和文本的格式,以便将\_替换为_。但是,最后一部分要求我将变量放在大括号中,以便正确格式化它们。
echo "Enter Simulation #: "
read sim
g.mapset results
for i in `seq 1 1 100`; do
file=sim$sim\_run$i\_sum
g.copy $file\@expSim$sim\_$i,$file
file=sim$sim\_run$i\_average
g.copy $file\@expSim$sim\_$i,$file
for year in `seq 2004 1 2006`; do
file=sim$sim\_$year\_run$i\_sum
g.copy $file\@expSim$sim\_$i,$file
file=sim$sim\_$year\_run$i\_average
g.copy $file\@expSim$sim\_$i,$file
done
years="2004 …Run Code Online (Sandbox Code Playgroud) 我收到这个错误:
TypeError:'undefined'不是函数(评估'parser.parse()')
这是我的代码.
<script>
require([
"esri/map",
"esri/layers/FeatureLayer",
"esri/dijit/Legend",
"esri/digit/HomeButton",
"dojo/_base/array",
"dojo/parser",
"dijit/layout/BorderContainer",
"dijit/layout/ContentPane",
"dijit/layout/AccordionContainer",
"dojo/domReady!"
], function(
Map, FeatureLayer, Legend, arrayUtils, parser, HomeButton
) {
parser.parse();
var map = new Map("map", {
basemap: "streets",
center: [-87.702733, 41.998508],
zoom: 15
});
var home = new HomeButton ({
map: map
}, "HomeButton");
home.startup();
var circuits = new FeatureLayer("http://54.243.188.50:6080/arcgis/rest/services/TYLIN/Streetlights_Pilot/MapServer/6", {
mode: FeatureLayer.MODE_ONDEMAND,
outFields:["*"]
});
var power = new FeatureLayer("http://54.243.188.50:6080/arcgis/rest/services/TYLIN/Streetlights_Pilot/MapServer/2", {
mode: FeatureLayer.MODE_ONDEMAND,
outFields:["*"]
});
//add the legend
map.on("layers-add-result", function (evt) {
var layerInfo …Run Code Online (Sandbox Code Playgroud)