我试图按照这个解释在 Debian 测试上安装 Gnome 3 。然而,这不起作用,让我没有任何图形用户界面。
目前我试图解决这个问题,我意识到有一长串标记为手动安装的软件包。我存储了一个(以换行符分隔的)包列表——在我看来——应该被标记为自动安装(几乎所有的)。
现在我想竞选apt-mark auto这个名单。
我怎么做?
PS:如果有人告诉我这不是一个好主意(如果不是),我也会很感激。
每个人都同意 Wayland 比 X11 更适合您常用的桌面。为什么每个主要发行版都使用 X?是错误,应用程序兼容性差(甚至是问题吗?)还是其他什么?
我需要将一堆.rgb文件转换为.pngs(每个文件应保留其原始名称)。
我想了解如何转换第一个文件,然后将命令包装在“for”循环中。
这是我到目前为止:
find . -name "*.rgb" | sort | sed -n \1\p | xargs convert zzzzz.png
Run Code Online (Sandbox Code Playgroud)
但这不起作用。
我怎样才能让convert命令识别第二个参数zzzzz.png?
我在这个问题上搜索了很多,发现了一些相关的问题,比如这个:终端提示没有正确包装。
我的问题是 bash 没有正确计算提示的长度,当我执行诸如ctrl-r或?滚动历史记录之类的事情时,这会把它搞砸。这基本上就是它的外观(没有颜色)。
? name@machine ~
01:09 $
Run Code Online (Sandbox Code Playgroud)
例如,当我使用向上箭头滚动浏览以前的命令时,某些字符会卡在提示中:
? name@machine ~
01:09 $m
Run Code Online (Sandbox Code Playgroud)
有时我也会遇到其他奇怪的行为,比如一些提示被覆盖(当我重新加载它时它会消失)。我的提示是这样的:
GIT_PROMPT_START_USER="\n_LAST_COMMAND_INDICATOR_ \[$Magenta\]\u\[$Orange\]@\[$White\]\h \[$Yellow\]\[$PathShort\]\[$ResetColor\]"
GIT_PROMPT_END_USER="\n\[$Blue\]$Time12a\[$ResetColor\] $ "
Run Code Online (Sandbox Code Playgroud)
我使用的东西叫做git-bash-prompt:> https://github.com/magicmonty/bash-git-prompt >。
我认为搞砸的是时间变量,它在另一个文件中定义:
Time12a="\$(date +%H:%M)"
Run Code Online (Sandbox Code Playgroud)
我已经尝试了\[$Time12a\]和$Time12ain GIT_PROMPT_END_USER,但它们似乎都不起作用。我的猜测是 bash 计算错误,因为$Time12a表示 5 个字符 (hh:mm)。
bash 是如何计算这个长度的?是否可以明确设置 bash 的长度?答案非常感谢!
echo "Enter username"
read $WORD
if [[ "$WORD" =~ ^(Dale|Paul|Ray)$ ]]; then
echo "$WORD is valid"
else
echo "$WORD is invalid"
fi
Run Code Online (Sandbox Code Playgroud) 我正在寻找一些东西,它为我提供了comm -3两个排序输出的输出(逐行比较,只有来自任一侧的附加/缺失行),但它看起来更像是来自 的输出diff -y,例如它使用整个宽度。
file1:
bar/a
bar/feugiat
bar/libero
bar/mauris
bar/scelerisque
bar/urna
foo/blandit
foo/elementum
foo/feugiat
foo/laoreet
foo/luctus
foo/non
foo/pellentesque
foo/pulvinar
foo/rutrum
foo/sed
foo/ut
foo/vivamus
Run Code Online (Sandbox Code Playgroud)
file2:
bar/a
bar/molestie
bar/quam
bar/risus
bar/tristique
foo/blandit
foo/elementum
foo/feugiat
foo/ligula
foo/massa
foo/mauris
foo/metus
foo/pellentesque
foo/pulvinar
foo/ut
Run Code Online (Sandbox Code Playgroud)
输出comm -3 file1 file2:
bar/feugiat
bar/libero
bar/mauris
bar/molestie
bar/quam
bar/risus
bar/scelerisque
bar/tristique
bar/urna
foo/laoreet
foo/ligula
foo/luctus
foo/massa
foo/mauris
foo/metus
foo/non
foo/rutrum
foo/sed
foo/vivamus
Run Code Online (Sandbox Code Playgroud)
diff -y --suppress-common-lines file1 file2(GNU) 的输出,它取决于屏幕宽度:
bar/feugiat | bar/molestie …Run Code Online (Sandbox Code Playgroud)
我想使用该file工具快速了解目录(包括其所有子目录)中的不同文件类型,例如,告诉我哪种文件类型是那里最常见的文件类型。
它应该作为常用 shell 语言或脚本工具(如bash或awk.
可能的好东西:
(最后两点实际上是相互排斥的)
每当我尝试使用在我的 SSH 会话中声明的变量时,它都会给我空白输出。这是我尝试执行的代码:
ssh -T host <<\HERE
export usage1=$(df -h |grep /nas/infa|sed s/%//g| awk '{printf("%d\n",$4)}');
echo $usage1
HERE
echo $usage1
Run Code Online (Sandbox Code Playgroud)
我能够在 SSH 会话中获得所需的输出,但是在 SSH 之外调用相同的变量时,它给我空白。
是否真的find不应该进行最简单的路径统一/简化操作,例如将多个连续的斜杠合并在一起(相当于原始形式)?
例如输出find .///是:
.///
.///somefile
[…]
Run Code Online (Sandbox Code Playgroud)
(测试find来自 GNU 和busybox)
如果是这样,那是为什么?有没有我遗漏的合理用例?也许对于有人正在搜索find内部脚本的输出的情况?
顺便说一句,同样有趣的是 GNU 的 find for find ./// -maxdepth 0 -printf '%h\n'(的输出%h应该是“文件名的前导目录(除了最后一个元素和它之前的斜杠之外的所有目录)”):(.//只是少了一个/)
我正在使用 OpenSSH 连接到 Linux 服务器,在那里我有一个tmux会话,我在其中执行某些需要很长时间的编译工作。现在,一旦某个需要很长时间的命令最终完成,我想立即在我的 Linux 客户端(我正在连接的计算机)上收到通知。
在本地,我知道如何使用弹出窗口、播放某些内容…… (1)、(2)通过运行某个命令来获得通知。现在我需要远程做同样的事情。一个完美的解决方案是某种反馈渠道,ssh但我不知道任何此类功能。
并且请不要使用(3) 中建议的基于电子邮件的解决方案。我已经收到太多的工作电子邮件,我正在尝试减少电子邮件的数量,只是为了确认而不是为了阅读、存储、转发或回复(为此,我什至创建了一个单独的电子邮件帐户,我不要收到实时通知)。