之间有什么区别
$ nohup foo
Run Code Online (Sandbox Code Playgroud)
和
$ foo &
Run Code Online (Sandbox Code Playgroud)
和
$ foo &
$ disown
Run Code Online (Sandbox Code Playgroud) 我有两个进程foo和bar,用管道连接:
$ foo | bar
Run Code Online (Sandbox Code Playgroud)
bar总是退出 0;我对foo. 有什么办法可以得到吗?
我在 SSH shell 上有一个正在运行的程序。我想暂停它并在我回来时能够取消暂停它的执行。
我想到的一种方法是将其所有权转移到屏幕外壳,从而使其在那里运行。
是否有不同的方式进行?
在 bash 终端中,我可以点击Control+Z来暂停任何正在运行的进程......然后我可以输入fg以恢复该进程。
如果我只有 PID,是否可以暂停进程?如果是这样,我应该使用什么命令?
我正在寻找类似的东西:
suspend-process $PID_OF_PROCESS
Run Code Online (Sandbox Code Playgroud)
然后恢复它
resume-process $PID_OF_PROCESS
Run Code Online (Sandbox Code Playgroud) 使用 移动大目录时mv,有没有办法查看进度 (%)?cpgentoo 上的命令有一个-g显示进度的开关。
我正在使用 ubuntu 12.04。我已经安装libwebp2&libwebp-dev
目前网上还没有找到将 webp 转为 jpg 的例子。
一些 webp 文件可以通过使用 imagemagick 和命令轻松转换
convert file.webp file.jpg
Run Code Online (Sandbox Code Playgroud)
但是很多 webp 文件无法转换并出现错误:
convert: no decode delegate for this image format `file.webp' @ error/constitute.c/ReadImage/532.
convert: missing an image filename `file.jpg' @ error/convert.c/ConvertImageCommand/3011.
Run Code Online (Sandbox Code Playgroud)
- - - - 添加
我想 glob 每个隐藏文件和目录,但不是当前 ( .) 和父目录 ( ..)。
我正在使用 bash。
观察当前行为:
$ ls -a
. .. ...a ...aa ..a ..aa .a .aa .aaa a
$ echo *
a
$ echo .*
. .. ...a ...aa ..a ..aa .a .aa .aaa
Run Code Online (Sandbox Code Playgroud)
我想.*表现得像这样
$ echo .*
...a ...aa ..a ..aa .a .aa .aaa
Run Code Online (Sandbox Code Playgroud)
有外壳选项 dotglob
$ shopt -s dotglob
Run Code Online (Sandbox Code Playgroud)
这在某种程度上起作用;现在我可以使用*glob 的所有内容(隐藏或不隐藏)但不能.和..
$ echo *
...a ...aa ..a ..aa .a .aa .aaa a
Run Code Online (Sandbox Code Playgroud)
但现在我无法区分隐藏与否。此外, …
bash 内置命令set,如果不带参数调用,将打印所有 shell 和环境变量,以及所有定义的函数。这使得输出对人类无法使用并且难以使用grep。
如何使 bash 内置命令set仅打印变量而不打印函数?
是否有其他命令只打印 shell 变量而不打印函数?
注意:bash 区分 shell 变量和环境变量。请参阅此处环境变量和 bash 中导出的环境变量之间的差异
这种单行从文本输入中删除重复的行,无需预先排序。
例如:
$ cat >f
q
w
e
w
r
$ awk '!a[$0]++' <f
q
w
e
r
$
Run Code Online (Sandbox Code Playgroud)
我在互联网上找到的原始代码如下:
awk '!_[$0]++'
这让我更加困惑,因为我认为_awk 中有一个特殊的含义,就像在 Perl 中一样,但结果证明它只是一个数组的名称。
现在,我理解了单行背后的逻辑: 每个输入行都用作散列数组中的键,因此,在完成后,散列包含按到达顺序排列的唯一行。
我想了解的是 awk 究竟是如何解释这个符号的。例如,爆炸符号 ( !) 的含义以及此代码片段的其他元素。
它是如何工作的?
Bash 似乎区分已导出的变量和未导出的变量。
例子:
$ FOO=BAR
$ env | grep FOO
$ set | grep FOO
FOO=BAR
Run Code Online (Sandbox Code Playgroud)
set看到变量但env没有。
$ export BAR=FOO
$ env | grep FOO
BAR=FOO
$ set | grep FOO
BAR=FOO
FOO=BAR
Run Code Online (Sandbox Code Playgroud)
set看到两个变量,但env只看到导出的变量。
我知道这set是一个内置的 bash 而env不是。
导出的变量和不导出的变量之间有什么区别?
shell ×4
bash ×3
command-line ×3
job-control ×3
disown ×2
awk ×1
exit ×1
gnu-screen ×1
imagemagick ×1
images ×1
mv ×1
nohup ×1
pipe ×1
ssh ×1
terminal ×1