我想知道是否有更好的方法来制作一个守护进程等待只使用sh的东西:
#! /bin/sh
trap processUserSig SIGUSR1
processUserSig() {
echo "doing stuff"
}
while true; do
sleep 1000
done
Run Code Online (Sandbox Code Playgroud)
特别是,我想知道是否有任何方法摆脱循环,仍然有东西听取信号.
我有一个div(假设id是"容器"),里面有很多元素,包括一个select元素.除了select之外,我想选择div中的所有内容.我试过的事情:
$("#container *:not(select)")
$("#container *:not(#selectorid)")
//put a div around the select and...
$("#container *:not(#selectorcontainer)")
$("#container *:not(#selectorcontainer *)")
$("#container *:not(#selectorcontainer, #selectorcontainer *)")
Run Code Online (Sandbox Code Playgroud)
也尝试没有通配符后代选择器,所以就像以上所有,但
$("#container:not(#selectorid)")
Run Code Online (Sandbox Code Playgroud) 我有一个带有SPI闪存的设备我想在该闪存设备上使用UBIFS文件系统作为我的rootfs.我面临的问题是UBI模块在SPI模块初始化之前初始化.因此,当UBI加载时,它无法连接到我告诉它的UBI设备(通过内核命令行),因此没有rootfs.下面的控制台输出说明了这一点
我一直潜入源代码,看到它init/main.c有一个do_initcalls()简单地调用函数指针列表的函数.这些函数指针指向module_init()内置于内核的模块的所有功能.这些函数指针放在内核二进制文件的特殊部分中,因此在编译时选择此顺序.但是,我还没弄清楚该命令是如何确定的.
[ 0.482500] UBI error: ubi_init: UBI error: cannot initialize UBI, error -19
[ 0.492500] atmel_spi atmel_spi.0: Using dma0chan0 (tx) and dma0chan1 (rx) for DMA transfers
[ 0.500000] atmel_spi atmel_spi.0: Atmel SPI Controller at 0xf0000000 (irq 13)
[ 0.507500] m25p80 spi0.1: mx25l25635e (32768 Kbytes)
[ 0.512500] Creating 7 MTD partitions on "jedec_flash":
[ 0.520000] 0x000000000000-0x000000020000 : "loader"
[ 0.527500] 0x000000020000-0x000000060000 : "u-boot"
[ 0.537500] 0x000000060000-0x000000080000 : "u-boot-env"
[ 0.547500] 0x000000080000-0x000000280000 : "kernel0"
[ …Run Code Online (Sandbox Code Playgroud) 这就是我正在尝试的.我想要的是最后echo说"一二三四测试......",因为它循环.它不起作用; read line即将到来.这里有一些微妙的东西,或者这不起作用?
array=( one two three )
echo ${array[@]}
#one two three
array=( ${array[@]} four )
echo ${array[@]}
#one two three four
while read line; do
array=( ${array[@]} $line )
echo ${array[@]}
done < <( echo <<EOM
test1
test2
test3
test4
EOM
)
Run Code Online (Sandbox Code Playgroud) 我在这里做了两个对象; 一个具有在构造函数中创建的访问器方法,另一个在原型中.为什么选择其中一个而不是另一个呢?
function spy1(name){
this.name = name;
var secret;
this.setSecret = function(message){
secret = message;
};
this.getSecret = function(){
return secret;
};
}
function spy2(name){
this.name = name;
this.secret;
/* (see comment) was:
var secret;
*/
}
spy2.prototype.setSecret = function(message){
this.secret = message;
/*was:
secret = message;
*/
};
spy2.prototype.getSecret = function(){
return this.secret;
/*was:
return secret;
*/
};
bond = new spy1("007");
smart = new spy2("86");
bond.setSecret("CONTROL is a joke.");
smart.setSecret("The British Secret Service is for sissies.");
Run Code Online (Sandbox Code Playgroud) 我正在开发一个嵌入式Linux项目.我们的构建过程会将图像闪现到设备上.我们的许多文件都需要root权限才能使系统正常工作.当我试图拉动并且其中一些文件被修改时,我遇到了一个问题 - git无法写入这些文件,因此重新设置并执行了sudo pull.然后当我切换分支时,它说"无法取消链接..."所有这些文件,但它无论如何切换分支,然后当我试图切换回分支时它不会让我因为我有本地更改.
所以我做的不对; 处理这个问题的正确方法是什么?
所以我试图创建一个孤儿分支.我尝试了几件事,其中一件(git checkout -b --orphan newbranch)成功创建了一个名为"--orphan"的分支; 现在它不会让我删除它使用git branch -d --orphan.我也尝试过使用引号和转义字符.似乎没什么用.我也尝试使用gitg删除并重命名分支; 这没用.
我该如何删除这个分支?
我刚刚学习COBOL; 我正在写一个简单回应用户输入的程序.我已将变量定义为:
User-Input PIC X(30).
Run Code Online (Sandbox Code Playgroud)
稍后,当我接受用户输入,然后显示用户输入"加上一些额外的文本"时,它有一堆空格来填充30个字符.是否有标准方法(如Ruby的str.strip!)来删除多余的空格?
我试图找到保罗格雷厄姆的文章,提到"黑客不知道他们是否好"的效果.在其中,他说他(看似虚假的谦卑)说他自己甚至不知道他是否善良.
PS抱歉垒球问题.我确实尝试搜索他的网站,这是徒劳的.
git ×3
bash ×2
cobol ×1
daemon ×1
embedded ×1
gnucobol ×1
heredoc ×1
javascript ×1
jquery ×1
linux-kernel ×1
paul-graham ×1
permissions ×1
prototype ×1
security ×1
shell ×1
ubifs ×1