我正在编写一个脚本,以使用现有的不同内核版本创建替代的uname 在机器上
hear是脚本的摘录:
dir=$(mktemp -d --tmpdir uname.XXXXXXXX)
cat > "$dir/latest_rhel6_release" <<EOF
2.6.32-733.27.1.el6.x86_64
EOF
cat > "$dir/uname" <<EOF
#!/bin/bash
cat "$dir/latest_rhel6_release"
EOF
chmod +x "$dir/uname"
hash -p "$dir/uname" uname"
除最后一行外,代码正常工作
hash -p "$dir/uname" uname"
如果我将运行命令:
hash -p "$dir/uname" uname"
运行脚本后,是否可以运行“ uname -r”
我将得到所需的结果:
2.6.32-754.27.1.el6.x86_64
问题是我如何从脚本运行哈希命令,但不能作为子shell运行 并影响他的父外壳,我从中运行脚本
答案 0 :(得分:1)
源脚本或将其插入。假设fn buildCbClosure<T : From<web_sys::HtmlElement>>(mut t : T) -> Closure<dyn FnMut(web_sys::MouseEvent)> {
let mut elem = web_sys::HtmlElement::from(t);
let a = Closure::wrap(Box::new(move |event: web_sys::MouseEvent| {
handleButtonClick(&event);
elem.set_text_content(Some("Text - Klik"));
}) as Box<dyn FnMut(_)>);
a
}
是脚本的名称。
error[E0277]: the trait bound `web_sys::HtmlElement: std::convert::From<T>` is not satisfied
--> src/lib.rs:59:20
|
59 | let mut elem = web_sys::HtmlElement::from(t);
| ^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `std::convert::From<T>` is not implemented for `web_sys::HtmlElement`
或
myscript
和
source ./myscript
请参见Why I can't set variables in my script to the parent shell