小编Stu*_*ent的帖子

通过 USB 电缆连接两台 Linux 机器

我是一个 Linux 新手,刚刚在房间里运行了他的第二台 Linux 机器!我知道我可以使用一个通过 ssh 控制另一个,但使用真正的电缆应该更快,例如 USB 电缆(如果可能的话)。很快,我就会有一个linux下的raspi。如果有办法做到的话,那就太棒了!

问题

是否可以通过 USB 电缆连接两台 Linux 机器,像使用 SSH 一样控制另一台机器?可能存在哪些困难?为什么人们似乎不使用这种方法?

ssh usb

4
推荐指数
1
解决办法
5656
查看次数

吃豆子坏了

这不是第一次了,但是吃豆子今天又崩溃了。我真的不知道如何修复它。因此,任何对我自学的有用指示都将受到高度赞赏。我希望我能成为一个独立的 Arch 用户。

:: Synchronizing package databases...
downloading core.db...
downloading extra.db...
downloading community.db...
:: Starting full system upgrade...
resolving dependencies...
looking for conflicting packages...
:: installing xorgproto (2019.2-2) breaks dependency 'dmxproto' required by libdmx
:: installing xorgproto (2019.2-2) breaks dependency 'xf86dgaproto' required by libxxf86dga
error: failed to prepare transaction (could not satisfy dependencies)
Run Code Online (Sandbox Code Playgroud)

arch-linux pacman

4
推荐指数
2
解决办法
2591
查看次数

为什么重定向输出有时会产生一个空文件?

shell 管道的威力如此之大,有时让我失望。

例子

只是作为一个例子,管道

echo abc > file.txt
cat file.txt | sed 's/a/1/' > file.txt
Run Code Online (Sandbox Code Playgroud)

给我一个空的file.txt。意识到 shell 可能>首先调用,我做了一个改变:

echo abc > file.txt
{cat file.txt | sed 's/a/1/'} > file.txt
Run Code Online (Sandbox Code Playgroud)

另一个空文件再次让我感到惊讶file.txt。一种最终有效的丑陋方式是

echo abc > file.txt
echo $(cat file.txt | sed 's/a/1') > file.txt
Run Code Online (Sandbox Code Playgroud)

这会强制 shell 首先运行子 shell,然后重定向。

题

虽然我知道更好的实践sed,它可以让你摆脱echo, cat, grep.. 等,但我在这里很好奇的是完全学习 shell 的语法。这个问题不是关于如何解决上面的特定问题。

Q1(编辑:题外话)有没有好的资源可以让我学习语法?

恐怕不同的外壳可能有不同的语法,所以

Q2我可以使 shell 变得冗长,并且每次运行命令时都能清楚地看到它在做什么吗?

Q3(编辑:题外话)关于良好实践的任何其他建议?谢谢!

shell pipe io-redirection

4
推荐指数
2
解决办法
2197
查看次数

什么是最便携的 shell,以及要遵循的相关最佳实践?

几个月来我一直热衷于 shell 脚本编写,发现我编写的代码(在bash)在某些机器上不起作用。这是非常令人失望的。

我意识到我应该学习最便携的 shell 脚本。当然,这在开始时会有点痛苦,但我相信它最终会得到回报。我希望我的 shell 脚本几乎可以在任何地方使用,包括 Linux 系列和 BSD 系列。(但我不在乎它们是否在 Windows 上运行。)

问题

  1. 最便携的外壳是什么?编辑:请忽略这个问题

  2. 使用最便携的外壳有哪些严重的缺点?编辑:请忽略这个问题

  3. 如果我想编写极其便携的代码,我还应该注意什么?例如,我应该使用和避免使用哪些核心实用程序以及哪些版本?

shell shell-script portability

1
推荐指数
1
解决办法
1787
查看次数