小编Ste*_*iak的帖子

Shell 脚本只能使用 sh 命令运行

我有一个小的 sh 脚本,用于备份到远程服务器。它在 Ubuntu 16.04 上运行多年,但现在在 18.04 上失败了。一开始以为是anacron的问题,现在想是脚本本身的问题,还是dash的问题。这是正在发生的事情:

stefan@stefan-Aspire-F5-573T:/etc/cron.daily$ sudo chmod +x rsync-doc-script 
[sudo] Mot de passe de stefan : 
stefan@stefan-Aspire-F5-573T:/etc/cron.daily$ ./rsync-doc-script 
/bin/sh: 0: Can't open *
stefan@stefan-Aspire-F5-573T:/etc/cron.daily$ sh rsync-doc-script
opening connection using: ssh -i /home/stefan/.ssh/id_rsa -l totem MouseHouse rsync --server -vvlogDtprze.iLsfxC . /totembackup/totemdoc  (11 args)
ssh: connect to host mousehouse port 22: Connection refused
rsync: connection unexpectedly closed (0 bytes received so far) [sender]
rsync error: unexplained error (code 255) at io.c(235) [sender=3.1.2]
stefan@stefan-Aspire-F5-573T:/etc/cron.daily$ 
Run Code Online (Sandbox Code Playgroud)

该错误can't open *阻止脚本在运行时正确运行 …

bash scripts sh

6
推荐指数
2
解决办法
7242
查看次数

网管无默认路由

这个问题大约在三周前开始,显然是在更新之后。

当我连接到新的 wifi 网络时,我只能连接到本地;我的笔记本电脑成功连接并接收 IP 地址(通过系统日志验证),但ping 8.8.8.8返回connect: Network is unreachable.

路由表总是看起来像这样:

Table de routage IP du noyau
Destination     Passerelle      Genmask         Indic Metric Ref    Use Iface
169.254.0.0     0.0.0.0         255.255.0.0     U     1000   0        0 wlp2s0
192.168.2.0     0.0.0.0         255.255.255.0   U     600    0        0 wlp2s0
Run Code Online (Sandbox Code Playgroud)

特别是,没有指定默认路由。我认为这就是问题所在。如果我运行命令

sudo route add default gw 192.168.2.1 wlp2s0
Run Code Online (Sandbox Code Playgroud)

然后一切正常;我可以 ping google.com,但网络管理器仍然认为我只有本地连接。

如果我改用静态 IP 并将 8.8.8.8 指定为名称服务器,则一切正常。如果我使用静态 IP 并且不指定 8.8.8.8 作为名称服务器,我可以 ping 8.8.8.8 但不能 google.com。

如何让网络管理器正确自动分配默认路由?

network-manager networking routing

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

标签 统计

bash ×1

network-manager ×1

networking ×1

routing ×1

scripts ×1

sh ×1