我需要一个可以使用毫秒的计时器.我尝试sleep 0.1在脚本中使用命令我看到错误消息:
syntax error: invalid arithmetic operator (error token is ".1")
当我sleep 0.1在终端运行它工作正常.
请帮我!
编辑:对不起,我犯了一个错误:
function timer
{
while [[ 0 -ne $SECS ]]; do
echo "$SECS.."
sleep 0.1
SECS=$[$SECS-0.1]
done
}
Run Code Online (Sandbox Code Playgroud)
排sleep 0.1在第5位,排SECS=$[$SECS-0.1]在第6位.我只是乱码.问题出在第6行,因为bash无法使用浮点数.我改变了我的功能如下:
MS=1000
function timer
{
while [[ 0 -ne $MS ]]; do
echo "$SECS.."
sleep 0.1
MS=$[$MS-100]
done
}
Run Code Online (Sandbox Code Playgroud) xfce4-screenshooter --help表示-s需要该选项来指定保存目录。
但有一个问题:当我在控制台中运行(或使用按键绑定)时xfce4-screenshooter -ws ~/screenshoots,它会打开Save as...对话框,而不是仅保存到指定目录。
我能做些什么?
我是Rust的新手,我正在尝试编写简单的按位替换器.
我有这个代码:const TABLE:[u64; 8] = [0xC462A5B9E8D703F1,0x68239A5C1E47BD0F,0xB3582FADE174C960,0xC821D4F670A53E9B,0x7F5A816D093EB42C,0x5DF692CAB78143E0,0x8E25691CF4B0DA37,0x17ED05834FA69CB2,];
fn get_part(u: u64, i: u8) -> u8 {
((u & (0xFu64 << (16 - i))) >> (16 - i)) as u8
}
fn process(o: u8, i1: u8, i2: u8) -> u8 {
let left: u8 = o >> 4;
let right: u8 = o & 0xF;
(get_part(TABLE[left], left) << 4) + get_part(TABLE[right], right)
}
Run Code Online (Sandbox Code Playgroud)
我得到像这样的错误:
error[E0277]: the trait bound `u8: std::slice::SliceIndex<[u64]>` is not satisfied
--> src/main.rs:19:15
|
19 | (get_part(TABLE[left], left) << 4) + …Run Code Online (Sandbox Code Playgroud) 我必须使用控制台搜索较大图像中较小图像的出现.结果我想收到它的图像坐标.有什么解决方案?
我听说过ImageMagick,但不太了解它是如何工作的.如果它足够了,那么我会很感激一个示例命令.
谢谢.
我有bash条件的问题,特别是在"if"结构中.有一个if条件的例子:
while [[ $BUT_O1 -eq false && $BUT_O2 -eq false && $BUT_O3 -eq false ]]
do
...
done
Run Code Online (Sandbox Code Playgroud)
当其中一个变量成真时,我需要停止该循环.
PS我读了bash脚本如何,但它仍然不清楚我.我甚至不明白为什么0 =真,在大多数语言中1 =真.
我必须制作活动窗口内容的屏幕截图(没有窗口的装饰)。我决定使用imagemagick并且我知道如何制作整个屏幕的屏幕截图,但这不是我需要的。
也可以使用其他程序,我很感激,imagemagick因为无论如何它都会在这个脚本中使用。
感谢您的回复!
bash ×2
imagemagick ×2
linux ×2
screenshot ×2
console ×1
if-statement ×1
image ×1
rust ×1
search ×1
sleep ×1
timer ×1
xfce ×1