我的 Azure 管道的 YAML 文件中有以下代码:
steps:
- bash: |
echo $(date +%Y)
echo "##vso[task.setvariable variable=buildName]$(date +%Y)_$(date +%m)_$(Build.BuildNumber)_v3.7"
echo $BUILDNAME
Run Code Online (Sandbox Code Playgroud)
第一个echo打印正确2020,但第三个打印正确$(date +%Y)_$(date +%m)_4728573844_v3.7。正如您所看到的,这里的年份和月份没有转换为值。为什么?
批处理文件Test.cmd:
@set args=args1
@set value=value1
@if defined value (
@echo args: [%args%], value: [%value%]
@set args=%args% /value=%value%
@echo args: [%args%]
)
@echo args: [%args%]
Run Code Online (Sandbox Code Playgroud)
命令输出>.\Test.cmd:
args: [args1], value: [value1]
args: [args1]
args: [args1 /value=value1]
Run Code Online (Sandbox Code Playgroud)
为什么我的每次调用都会@echo args: [%args%]返回不同的值?(一种没有更新的参数值,args1,一种具有更新,args1 /value=value1)
考虑以下动态变量,并且每次都可能发生变化。有时甚至可能有5个变量,但每次所有变量的长度都是相同的。
var1='a b c d e... upto z'
var2='1 2 3 4 5... upto 26'
var3='I II III IV V... upto XXVI'
Run Code Online (Sandbox Code Playgroud)
我正在寻找一种通用方法来迭代 for 循环中的变量,我想要的输出应该如下所示。
a,1,I
b,2,II
c,3,III
d,4,IV
e,5,V
.
.
goes on upto
z,26,XXVI
Run Code Online (Sandbox Code Playgroud)
如果我使用嵌套循环,那么我会得到所有可能的组合,这不是预期的结果。
另外,我知道如何使用以下链接使用 for 循环和移位来使这对 2 个变量起作用 https://unix.stackexchange.com/questions/390283/how-to-iterate-two-variables-in-a-sh-脚本
我放
@echo "============= $(TOOLPREFIX) ================="
Run Code Online (Sandbox Code Playgroud)
在许多操作系统课程使用的xv6 Makefile的第34行中,希望打印出变量TOOLPREFIX的值。但我总是出错
Makefile:37: *** missing separator. Stop.
Run Code Online (Sandbox Code Playgroud)
该行位于任何目标之前。我尝试了所有能做的事情,比如在命令开头添加 Tab、将命令移动到 Makefile 中的任何位置,或者删除 echo 之前的符号 @,但无论如何我总是收到错误。但如果我注释掉这个命令,就没有错误了。那么,我应该如何正确打印出这个Makefile中的变量呢?
顺便说一句,如果我在命令开头添加 Tab,我得到的错误是“Makefile:37: *** 配方在第一个目标之前开始。停止。” 但如果我将 @echo 命令移至 Makefile 的底部,则会显示“Makefile:287: *** 缺少分隔符。停止。” 又出来了。
环境是Windows Subsystem for Linux,安装了ubuntu 20.04。
在 Windows cmd 中,我可以使用 回显任何环境变量echo %VARIABLENAME%,例如
但在 powershell 中,这种行为是不一致的,我无法理解。对于某些变量,例如我可以执行与 Windows cmd 中$HOME相同的操作 ( )。echo $VARIABLENAME
但对于其他一些变量,我不能简单地 echo 而是必须使用 .NET 的类方法,例如
我想:
我是 powershell 新手。这个问题的目的不仅仅是打印变量,而是了解powershell中的工作原理以及windows cmd之间的区别,以便我可以更好地使用它。
当我执行时echo 123 > a.txt b.txt,我希望看到123写入两个文件,a.txt并且b.txt. 但实际结果是只创建了一个文件。内容123 b.txt写入名为 的文件中a.txt。为什么会出现这种情况?
我有一个简单的if-else语句 - 如果是真的,我希望它能回应这个内容:
<div id="login">
<h2>Login</h2>
<div class="box">
<form method="POST" action="index.php/login">
Username/Email:<br />
<input type="text" name="username" value="<?php echo set_value("username"); ?>" size="50" class="form" />
<?php echo form_error("username"); ?>
Password:<br />
<input type="password" name="password" value="<?php echo set_value("password"); ?>" size="50" class="form" />
<?php echo form_error("password"); ?>
<input type="submit" value="Login" name="login" />
</form>
</div>
</div>
Run Code Online (Sandbox Code Playgroud)
如果错误做类似的事情.
我该怎么做呢?我是一个PHP菜鸟(我一直在这里讨厌社区!) - 所以我现在正站在echo函数 - 我想我可以设置变量,但那是关于它的.
非常感谢!
以下内容中onClick属性的正确语法是什么:
<?php
if($_resp['user']) {
echo '<div class="logo"><a href="http://www.example.com/" onClick="_gaq.push(['_trackEvent', 'Join', 'Home', 'BigButton']);">Link Text</a>';
}
?>
Run Code Online (Sandbox Code Playgroud) 我正在建立一个网站,并希望执行以下操作,但我不知道如何:用PHP代码回显HTML代码,因此PHP代码执行.我读取文件并回显它,但PHP代码只是一串文本而不执行.
例如:
[网站文件dude.php]
<html>
<?php
echo "dude";
?>
</html>
Run Code Online (Sandbox Code Playgroud)
[另一个网站文件,尝试回显dude.php文件,执行PHP代码]
<?php
$pathToFile = 'dude.php';
$myFile = fopen($pathToFile, 'r');
$theData = fread($myFile, filesize($pathToFile));
echo $theData;
fclose($myFile);
?>
Run Code Online (Sandbox Code Playgroud)
但是我得到的是,dude.php回应了PHP代码未执行.
我不明白为什么,也许有一些"回声"命令......
我希望这清楚到足以让人们理解.我真的不知道任何其他方式来解释它.
此代码应从wget2.html读取并输出已创建的链接.但它给我输出没有换行符.如何强迫猫添加换行符?
chksitename=$(cat wget2.html | grep -e "$sitename" | sed -e "s/^.*\("$sitename".*jpg\).*$/\1/g" | sort | uniq)
echo $chksitename
Run Code Online (Sandbox Code Playgroud)