鉴于jenkins 2.1构建管道,jenkins将一个env
变量注入到node{}
.例如,BRANCH_NAME
可以使用
node {
echo ${env.BRANCH_NAME}
...
Run Code Online (Sandbox Code Playgroud)
env
属性.我正在寻找像这样的代码
node {
for(e in env){
echo e + " is " + ${e}
}
...
Run Code Online (Sandbox Code Playgroud)
这会像回应一样
BRANCH_NAME is myBranch2
CHANGE_ID is 44
...
Run Code Online (Sandbox Code Playgroud) 我正在学习使用 python 编程,但在从包中的模块导入时遇到问题。我正在使用带有 Python 3.8.2 64 位的视觉工作室代码。
.vscode
??? ecommerce
? ??? __init__.py
? ??? database.py
? ??? products.py
? ??? payments
? ??? __init__.py
? ??? authorizenet.py
? ??? paypal.py
??? __init__.py
??? main.py
Run Code Online (Sandbox Code Playgroud)
在ecommerce/products.py
我的文件中:
.vscode
??? ecommerce
? ??? __init__.py
? ??? database.py
? ??? products.py
? ??? payments
? ??? __init__.py
? ??? authorizenet.py
? ??? paypal.py
??? __init__.py
??? main.py
Run Code Online (Sandbox Code Playgroud)
这样我就可以Database
从ecommerce/database.py
文件中导入类。但我得到错误
ImportError : Attempted relative import with no known …
Run Code Online (Sandbox Code Playgroud) 我使用的代码库从Git存储库检出到我的Linux机器上.由于我们的生产代码是为部署在Linux上编写的,因此我在Linux机器上进行了所有测试,但是喜欢使用Windows进行日常使用,包括代码编辑/创作.
为此,我创建了一个文件夹(我的主文件夹)的Samba共享,我在那里签出代码,如下所示:
[wgrover]
path = /home/wgrover
available = yes
valid users = wgrover
read only = no
browsable = yes
public = yes
writable = yes
Run Code Online (Sandbox Code Playgroud)
但是,当我从\\linux-box\wgrover
Windows中的samba共享编辑文件时,755
即使644
在编辑之前,Linux中的文件权限也会不断变化.
这一直在我git diff
这样出现:
diff --git a/debian/maggie.nginx.conf b/debian/maggie.nginx.conf
old mode 100644
new mode 100755
index 7cda506..7eab574
Run Code Online (Sandbox Code Playgroud)
可以create mask
在smb.conf中设置,但也不会"保留"原始文件权限.我可以通过设置忽略git中的文件模式更改fileMode = false
,.gitconfig
但也忽略了问题.
从linux修改文件权限有什么办法可以保留文件权限吗?
我想编写一个小脚本来搜索确切的文件名,而不是文件名中的字符串.
例如,如果我使用资源管理器搜索"主机",默认情况下会得到多个结果.使用脚本我只想要我指定的名称.我假设它有可能吗?
我只是真正开始编写脚本而且它仅供我个人使用,所以它并不重要,它只是让我烦恼.我有几个驱动器,所以我开始使用2个输入,一个用于查询驱动器号,另一个用于指定文件名.我可以通过扩展名,文件大小等进行搜索,但似乎无法将搜索固定到确切的名称.
任何帮助,将不胜感激!
编辑:感谢所有回复.只是为了更新.我在我的小脚本中添加了一个答案,效果很好.所有三个反应都有效,但我最终只能使用一个,而不是另外两个.干杯.只是为了澄清,'npp'是Notepad ++的别名,一旦找到就打开文件.
$drv = read-host "Choose drive"
$fname = read-host "File name"
$req = dir -Path $drv -r | Where-Object { !$PsIsContainer -and [System.IO.Path]::GetFileNameWithoutExtension($_.Name) -eq $fname }
set-location $req.directory
npp $req
Run Code Online (Sandbox Code Playgroud) 在bash,就是在差异declare -r
和readonly
?
$ declare -r a="a1"
$ readonly b="b1"
Run Code Online (Sandbox Code Playgroud)
我不知道该选哪个.
尝试用 python 构建词云。
# Start with loading all necessary libraries
import pandas as pd
import matplotlib.pyplot as plt
from wordcloud import WordCloud
Run Code Online (Sandbox Code Playgroud)
pandas 导入得很好,尽管比预期的时间要长一些。现在我尝试matplotlib.pyplot
使用 导入sudo pip3 install matplotlib
并收到此错误响应
Collecting matplotlib
Using cached https://files.pythonhosted.org/packages/7c/ec/3d77b10ac3d30590f5431fd2dc59c58d20c020af107b47f8974896afc5c9/matplotlib-3.4.3-cp37-cp37m-manylinux1_x86_64.whl
Requirement already satisfied: cycler>=0.10 in /usr/local/lib/python3.7/dist-packages (from matplotlib) (0.10.0)
Requirement already satisfied: numpy>=1.16 in /usr/local/lib/python3.7/dist-packages (from matplotlib) (1.21.2)
Requirement already satisfied: python-dateutil>=2.7 in /usr/local/lib/python3.7/dist-packages (from matplotlib) (2.8.2)
Requirement already satisfied: pyparsing>=2.2.1 in /usr/local/lib/python3.7/dist-packages (from matplotlib) (2.4.7)
Collecting pillow>=6.2.0 (from matplotlib)
Using cached https://files.pythonhosted.org/packages/7d/2a/2fc11b54e2742db06297f7fa7f420a0e3069fdcf0e4b57dfec33f0b08622/Pillow-8.4.0.tar.gz …
Run Code Online (Sandbox Code Playgroud) tl;dr在 Rust 中,是否存在“强”类型别名(或类型机制),使得rustc
编译器会拒绝(发出错误)可能是相同底层类型的混淆?
目前,可以定义相同底层类型的类型别名
type WidgetCounter = usize;
type FoobarTally = usize;
Run Code Online (Sandbox Code Playgroud)
但是,如果我错误地混淆了两种类型别名的实例,编译器不会拒绝(发出错误或警告)。
fn tally_the_foos(tally: FoobarTally) -> FoobarTally {
// ...
tally
}
fn main() {
let wc: WidgetCounter = 33;
let ft: FoobarTally = 1;
// whoops, passed the wrong variable!
let tally_total = tally_the_foos(wc);
}
Run Code Online (Sandbox Code Playgroud)
(铁锈游乐场)
我希望有一个额外的关键字之类的东西strong
strong type WidgetCounter = usize;
strong type FoobarTally = usize;
Run Code Online (Sandbox Code Playgroud)
这样前面的代码在编译时会导致编译器错误:
error[E4444]: mismatched strong alias type WidgetCounter,
expected a FoobarTally
Run Code Online (Sandbox Code Playgroud)
或者也许 s …
在我期望可变借用结束之后,我遇到了关于同时使用可变和不可变借用的令人困惑的错误。我对类似问题(1 , 2 , 3 , 4 , 5)进行了大量研究,这让我相信我的问题与词法生命周期有关(尽管打开 NLL 功能并每晚编译并没有) t 改变结果),我只是不知道是什么;我的情况似乎不适合其他问题的任何场景。
pub enum Chain<'a> {
Root {
value: String,
},
Child {
parent: &'a mut Chain<'a>,
},
}
impl Chain<'_> {
pub fn get(&self) -> &String {
match self {
Chain::Root { ref value } => value,
Chain::Child { ref parent } => parent.get(),
}
}
pub fn get_mut(&mut self) -> &mut String {
match self {
Chain::Root { ref mut value } => …
Run Code Online (Sandbox Code Playgroud) 我想推送到 GitHub 上的远程存储库。我git pull origin main
一模一样地输入了一百遍,但我得到了错误:
fatal: Unable to persist credentials with the 'wincredman' credential store.
Run Code Online (Sandbox Code Playgroud)
我已经尝试了我能找到的一切。我取消设置凭据管理器,删除 Windows 凭据管理器中的旧凭据,尝试创建 PAT。我终于成功地使用 PAT 拉/推,但现在我必须每次都手动输入我的用户名和 PAT。
我不知道发生了什么,但我希望能够从远程推送/拉取,而无需登录。
tl;dr如何强制 Powershell 跳过检查新版本?
当我启动 Powershell 7 时,它会检查新版本的 Powershell。
目前,这看起来像
PowerShell 7.0.0
Copyright (c) Microsoft Corporation. All rights reserved.
https://aka.ms/powershell
Type 'help' to get help.
A new PowerShell stable release is available: v7.1.3
Upgrade now, or check out the release page at:
https://aka.ms/PowerShell-Release?tag=v7.1.3
Run Code Online (Sandbox Code Playgroud)
对新版本的检查会延迟 Powershell 的启动。有时这个延迟是十到二十秒。这有点烦人。 我想跳过 powershell 版本检查。
powershell ×2
rust ×2
bash ×1
chmod ×1
git ×1
groovy ×1
jenkins ×1
linux ×1
pylint ×1
python ×1
python-2.7 ×1
samba ×1
typing ×1
word-cloud ×1