小编J V*_*J V的帖子

如何在bash中运行命令直到成功

我有一个脚本,并想要询问用户一些信息,脚本无法继续,直到用户填写此信息.以下是我尝试将命令放入循环以实现此目的但由于某种原因它不起作用.

echo "Please change password"
while passwd
do
echo "Try again"
done
Run Code Online (Sandbox Code Playgroud)

我尝试了while循环的许多变体:

while `passwd`
while [[ "`passwd`" -gt 0 ]]
while [ `passwd` -ne 0 ]]
# ... And much more
Run Code Online (Sandbox Code Playgroud)

但我似乎无法让它发挥作用.

bash command while-loop

215
推荐指数
5
解决办法
12万
查看次数

库可以作为二进制文件分发,因此最终用户无法看到源代码吗?

是否可以编译Rust库包以便用户无法查看源代码但仍可以使用该库?

如果是,所有泛型都提供为"源代码"或某些IR,还是Rust实现泛型不同于C++模板?

rust

29
推荐指数
1
解决办法
1583
查看次数

如果我想写一个Wayland合成器,我从哪里开始?

我想,没有一个"初学者的沙漠服务器编程指南"漂浮在网络上,而威斯顿源看起来令人生畏.

有没有一个准系统的Wayland服务器我可以看看给我一个想法从哪里开始?我可以在X下运行的东西,我可以确认是收到输入.我相信我可以从那里出发.

wayland

21
推荐指数
2
解决办法
8648
查看次数

什么是缺点()?

链表的Rust教程示例是:

enum List {
    Cons(u32, Box<List>),
    Nil
}
Run Code Online (Sandbox Code Playgroud)

Cons()结构究竟是什么?(这是一个结构对吗?)我无法在任何地方找到任何文档.

rust

15
推荐指数
1
解决办法
4110
查看次数

如何使用gtk信号将多个变量作为数据传递

我有一个小程序,其中gtk信号回调函数需要2或3个变量.

我不想制作这些全局变量(项目的整个目标是整洁和整洁)我不想制作一个完整的结构,所以我可以将一个小部件和一个编译的正则表达式发送到一个函数.

据我所见,g_signal_connect只允许单个数据变量.

这样做最有效的方法可能是一个指向这两个对象的void指针数组吗?像这样的东西?

void * data[2];
data[0] = widget;
data[1] = compiledregex;
g_signal_connect(save,"clicked",G_CALLBACK(callbackfunction),data);
Run Code Online (Sandbox Code Playgroud)

c gtk

10
推荐指数
2
解决办法
6651
查看次数

将struct移动到单独的文件中而不拆分成单独的模块?

说我有这个文件层次结构:

main.rs
protocol/
protocol/mod.rs
protocol/struct.rs
Run Code Online (Sandbox Code Playgroud)

struct.rs:

pub struct Struct {
    members: i8
}

impl Struct {
    pub fn new() -> Struct {
        Struct { 4 }
    }
}
Run Code Online (Sandbox Code Playgroud)

我如何访问它:

mod protocol;
protocol::Struct::new();
// As opposed to:
// protocol::struct::Struct::new();
Run Code Online (Sandbox Code Playgroud)

我已经试过的各种组合pub usemod,但无可否认我的东西盲目乱抓.

是否有可能将结构(和它impl)拆分成一个单独的文件,而不必创建一个新的mod?

module rust

8
推荐指数
1
解决办法
5526
查看次数

Dragula删除了一个不同于拖动的元素

在dragula中,你有一个可能的单向副本从一个容器到另一个容器 - 我想将它用于一个UI,你将表示一个元素的符号拖到一个容器中并让它产生"真正的交易" - 真正的交易是任意的不同元件.

大部分内容非常简单:

dragula([].slice.call(document.querySelectorAll('.container')), {
  copy: function (el, source) {
    return source === document.getElementById('c1')
  },
  accepts: function (el, target) {
    return target !== document.getElementById('c1')
  },
  removeOnSpill: true
}).on('drop', function (el) {
    var newNode = document.createElement("div");
    newNode.textContent = "The real deal";
    newNode.classList.add("elem");
    el.parentNode.replaceChild(newNode, el);
});
Run Code Online (Sandbox Code Playgroud)
.container {
  border: 1px solid #000;
  min-height:50px;
  background:#EEE;
}
.elem {
  padding:10px;
  border: 1px solid #000;
  background:#FFF;
  margin:5px;
  display: inline-block;
}
Run Code Online (Sandbox Code Playgroud)
<div id="c1" class="container">
  <div class="elem">Icon1</div>
  <div class="elem">Icon2</div>
  <div class="elem">Icon3</div>
  <div class="elem">Icon4</div>
  <div …
Run Code Online (Sandbox Code Playgroud)

html javascript drag-and-drop dragula

8
推荐指数
1
解决办法
4957
查看次数

挂钩进入linux身份验证,以便在满足某些条件时运行脚本或程序

使用ecryptfs或encfs(可能更多),实际的解密密码保存在一个由密码解密的文件中.

因此,如果偏执(或试图留下深刻印象),您可以在几毫秒内有效地将所有加密数据切碎为美国DOD标准(通常是整个主目录).

如果输入了特定密码,或者连续输入了一定次数的错误密码,我想设置我的计算机(或者至少是我的vbox系统)来粉碎包装的密码短语.

这将是很容易,但我不知道怎么去到Linux认证系统在一定的水平,让我检查不正确的密码和/或运行文件碎化计划.

TL; DR:如果不正确的登录使用了特定的密码,任何人都知道如何让linux粉碎文件?

linux security authentication encryption

7
推荐指数
2
解决办法
7675
查看次数

Github Markdown不会结束列表

在github中编写自述文件时,我遇到了一个问题,即如果我想要列表后的一段文本,它会将其解释为列表中的更多内容:

* List item

More text
Run Code Online (Sandbox Code Playgroud)

显示为:

  • 项目清单

    更多文字

我试着看一些其他的github仓库,但我不知道为什么他们的仓库能正常工作,而我的却没有。

markdown

6
推荐指数
3
解决办法
3956
查看次数

Python3, Gtk3 - GtkGrid 扩展

一个GtkWindowGtkGrid含一些GtkLabel■当生长于窗口不会扩大。我希望网格水平扩展。

grid.set_hexpand(True) #No result
grid.expand = True     #No result
Run Code Online (Sandbox Code Playgroud)

GtkLabel最右边的列设置为右对齐,所以我可以准确地看到,如果它正在扩大与否:

label.set_halign(Gtk.Align.END)
Run Code Online (Sandbox Code Playgroud)

我误解了网格的工作原理吗?(AGtkTable有一定数量的列,也许GtkGrid没有并依赖于它的子元素被设置为扩展?)

python gtk

6
推荐指数
1
解决办法
2896
查看次数