尝试:
awful.util.spawn("scrot -s")
awful.util.spawn("urxvt -e \"scrot -s\"")
os.execute("scrot -s")
Run Code Online (Sandbox Code Playgroud)
以及所有可能的组合,甚至与sleep.
也试过守护进程。
没有任何作用 =( PS 所有命令都在键绑定中,如果我替换scrot -s为scrot,则所有命令都有效,除了选择区域。
鉴于此目录内容:
one.file
two.file
three.file
Run Code Online (Sandbox Code Playgroud)
在 bash 中,当我输入时
rm *.file !(two)
Run Code Online (Sandbox Code Playgroud)
只有one.file和three.file被删除。我怎样才能在 ZSH 中做到这一点?
我正在阅读有关 bash 架构的这本书,其中一位 bash 维护者说:
shell 函数调用有不同的变量作用域,命令前面的赋值语句设置的变量有不同的临时作用域。例如,当这些赋值语句位于 shell 内置的命令之前时,shell 必须跟踪解析变量引用的正确顺序,并且链接的作用域允许 bash 这样做。
我无法弄清楚如何做到这一点。这会打印出一个空白的换行符:
foo="bar" echo $foo
Run Code Online (Sandbox Code Playgroud)
这会打印出“bar”,但该foo变量在命令完成后仍被定义,所以我不认为它是“命令范围”:
foo="bar"; echo $foo
Run Code Online (Sandbox Code Playgroud)
如何定义具有命令范围的变量?
我无法禁用 Numlock 键(使键什么也不做,以便小键盘数字始终有效),同时将额外的鼠标按钮(在我的鼠标侧面)映射到快捷方式以执行自定义操作。
我使用 Arch Linux 和 Xfce,登录管理器是 LightDM。
我使用这个代码,放在一个 bash 文件中,在启动时禁用我的 numlock:
xmodmap -e "keycode 77 = NoSymbol"
Run Code Online (Sandbox Code Playgroud)
我的主目录中有一个 .xbindkeysrc 文件,其中包含:
"xdotool key ctrl+w"
b:8 + Release
"xdotool key ctrl+d"
b:9 + Release
Run Code Online (Sandbox Code Playgroud)
(关闭标签和书签)
如果我在启动时启用“禁用 Numlock”代码,.xbindkeysrc 文件将不再有效。这似乎与与numlockx onxmodmap 命令(在它之前)在同一个 bash 文件中的命令有关。我该如何解决?
添加
"NoCommand"
c:77
Run Code Online (Sandbox Code Playgroud)
to .xbindkeysrc 也没有预期的效果。将 c 更改为 m,因为理论上 Numlock 是一个修饰键,无济于事。使用 Num_Lock 而不是 c:77 也不起作用。
有没有办法在bash上通过管道传递参数?
就像是:
echo value1 value2 | mkdir -p ./$1/$2
Run Code Online (Sandbox Code Playgroud)
上面的行将创建目录 ./value1/value2
如果这是不可能的,我会接受建议。
任何帮助表示赞赏。
我正在我的 Raspberry Pi 上运行这个简单的脚本来自动更新,这样我就可以忘记它了。它还保留一个日志,说明更新是否成功。脚本是update.sh:
#!/bin/bash
echo "Update starts on: $(date)" >> /home/pi/update.log
if apt-get update && apt-get upgrade -y; then
echo "update successful $(date)" >> /home/pi/update.log
else
echo "Couldn't update $(date)" >> /home/pi/update.log
fi
Run Code Online (Sandbox Code Playgroud)
我通过使用将此脚本添加到根 crontabsudo crontab -e并将 cronjob 设置为每天早上 6 点运行
0 6 * * * /home/pi/update.sh
Run Code Online (Sandbox Code Playgroud)
我知道它在某种程度上有效,因为sudo ./update.sh在 shell 中运行手动运行命令并在日志中留下“成功”条目。另一方面,当从 crontab 运行时,我总是得到“无法更新”条目。万一重要,“update.sh”脚本是由“pi”用户创建的,我从未更改过权限,除了给它执行权限。
我读了另一个关于同一问题的问题,那个人通过sudo在命令前面放了一个来解决它。他承认这很奇怪,因为它已经被 root 执行了,但说它有效。我尝试添加sudo并验证它现在确实有效。
有谁知道为什么会这样?sudo如果它已经是root,为什么还需要它?
我只是在我的 Ubuntu 14.10 计算机上编写 C++ 程序。由于它是一个客户端/服务器程序,我打开了三个终端模拟器:一个用于编写代码和编译,一个用于客户端测试,最后一个用于服务器测试。过了一会儿,我以为我的代码中有错误。我花了一个多小时来跟踪它,结果发现退出目录并再次进入它解决了整个问题。准确地说,这些是我执行的命令:
some_directory$ ./client
some_directory$ cd ..
$ cd some_directory
some_directory$ ./client
Run Code Online (Sandbox Code Playgroud)
没有改变任何东西——也没有重新编译——两次运行给出了不同的结果。我唯一能想到的是某种可以存储旧版本文件的缓存,但我从未听说过这样的功能。有没有解释,如何解决(让它自动刷新,不退出目录)?
我在 Cisco 路由器串行终端上工作时使用 minicom ......默认情况下,我在我的以下设置中使用这些设置~/.minirc.dfl:
pu port /dev/ttyUSB0
pu baudrate 9600
pu bits 8
pu parity N
pu stopbits 1
pu rtscts No
pu xonxoff No
pu minit
pu mreset
pu mhangup
Run Code Online (Sandbox Code Playgroud)
有趣的是 minicom 默认为linewrap off,我还没有找到在~/.minirc.dfl. 当我尝试过显而易见的事情时:
pu linewrap Yes
Run Code Online (Sandbox Code Playgroud)
minicom 咆哮着说**Line 9 of the personal config is unparsable。
除了像 bash 这样的别名alias minicom="minicom -w",有没有办法默认 minicom 来自动换行?我想设置这个~/.minirc.dfl
我在理解 Linux ss(套接字统计)命令的输出时遇到问题。我无法理解输出的含义ss -s
例如:
[root@dls2304-1 ~]# ss -s
Total: 973 (kernel 996)
TCP: 600 (estab 280, closed 73, orphaned 0, synrecv 0, timewait 0/0), ports 333
Transport Total IP IPv6
* 996 - -
RAW 1 1 0
UDP 157 128 29
TCP 527 512 15
INET 685 641 44
FRAG 0 0 0
Run Code Online (Sandbox Code Playgroud)
我的问题:
什么Total: 973 (kernel 996)意思?什么是Total什么kernel?为什么Total好像比 小kernel?
在行中TCP: 600 (estab 280, closed 73, …
我想在Conky 中运行的 Bash 脚本是一个循环,所以只需要运行一次。这是一个监控脚本,以防我的 VoIP 路由器出现故障。
${execi 3600 /home/justin/pingvoip}
Run Code Online (Sandbox Code Playgroud)
Conky 不想从上面的代码开始。