小编Thu*_*shi的帖子

shell 中的日期验证

我想在 shell 脚本中验证以下日期格式

2015-Jul-13
Run Code Online (Sandbox Code Playgroud)

我正在使用,date -d "2015-Jul-13" +"%Y-%b-%d"但它给出的错误是

date: invalid date '2015-Jul-13'
Run Code Online (Sandbox Code Playgroud)

shell-script date

15
推荐指数
3
解决办法
9105
查看次数

如何以用户(非 root)身份运行 vncserver?

我想远程访问特定用户的桌面而不是根桌面;但是,当我运行vncserver它时,它总是会生成一个 root 桌面。

这可能与安装tigervnc. 在.vnc.xauthority目录中发现的/root目录。

我怎样才能改变这种做法,我可以运行vncserver:1生产特定用户的桌面?

我也尝试使用该vncserver -u username命令,但它不会让我访问这些.vnc文件。

我认为tigervnc必须将其移除并安装在正确的位置?

vnc

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

将文件从一台 linux 机器复制到另一台 linux 机器的 Java 代码

我正在寻找将文件复制到远程 linux 系统的 java 代码。我Runtime.getRuntime().exec()通过传递scp命令尝试了函数,但是每次运行程序时它都要求输入远程系统密码。我想避免这种情况。

我查看了Jsch库——使用它我可以登录到远程系统——但我无法将文件复制到远程系统。登录后,我可以scp对我的主机执行操作,但它再次需要主机系统用户名和密码。但是,我只有远程系统的信息。

scp java file-copy

7
推荐指数
2
解决办法
5万
查看次数

找不到设备“eth0”

嘿 Arch linux 用户!

我是 arch linux 的新手(来自 ubuntu),并且刚刚在我的机器上安装了 arch linux。

重新启动后,我想使用 安装一些软件包pacman -S,但我看到我的机器无法从服务器获取文件,我中断了安装 ustn <Ctrl-C>。所以我尝试使用 更新我的存储库pacman -Sy,这不起作用,因为 pacman 无法获取包。

所以我尝试ping了几个 IP,但没有用,因为

network is unreachable

之后我尝试使用设置我的 eth0

ip link set eth0 up

它返回给我这个错误:

cannot find device "eth0"

该命令ip link显示lo(当然)和emp1s0(那到底是什么?)已启动。我试着emp1s0

ip link set emp1s0 down

回来了

cannot find device "emp1s0"

我还尝试tg3手动加载内核模块并dhcpd手动启动,两者都不起作用。

我其实不知道怎么继续。

networking arch-linux

6
推荐指数
1
解决办法
5万
查看次数

在远程系统中运行 `dbus-send`

我正在尝试dbus-send在远程系统中运行,但不知何故我无法运行它。但是同样的dbus-send,如果我在本地系统中运行它,它工作正常。

命令

ssh remote@xx.xx.xx.xxx "dbus-send --print-reply --dest=service.name /object/path object.path.Service.method string:"XYZ""

如何dbus-send从远程系统运行命令?

系统信息

Linux 3.13.0-29-generic Ubuntu i686 GNU/Linux

linux ssh d-bus

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

用于添加或替换 .c 、 .h 和 makefile 中包含的许可证文本的 Shell 脚本 (bash)?

我在一个文件夹中有一组 *.c 、 *.h 和 Makefile,其中一些文件包含许可证文本,而一些文件没有任何许可证文本。所以我需要一个 shell 脚本,如果文件没有任何许可文本,我可以在其中添加许可文本,如果许可文本已经存在,那么我想用新的许可文本替换它。

例如

Folder1
?? *.c
?? *.h
?? Folder2
?  ?? *.c
?  ?? *.h
?  ?? Makefiles
?  ?? Folder4
?? Folder3
   ?? *.c
   ?? *.h
   ?? Makefiles
Run Code Online (Sandbox Code Playgroud)

注意:许可证文本将始终位于文件的开头。

现有许可证文本示例:

# Copyright (C) 2008 Jack <abc@cba.com>

# This file is free software; as a special exception the author gives
# unlimited permission to copy and/or distribute it, with or without
# modifications, as long as this notice is preserved.
Run Code Online (Sandbox Code Playgroud)

新的许可证文本应该是:

/*--------------------------------------------------------------------- …
Run Code Online (Sandbox Code Playgroud)

shell-script text-processing

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

监视通过 SSHFS 挂载的文件夹

我想监视对通过SSHFS.

我已经尝试过,iwatch但它不会在创建新文件时发出通知,以下是我使用的语法iwatch

iwatch -e create /mnt/mme01/

知道为什么这不起作用以及如何实现吗?

filesystems mount sshfs

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

使用shell脚本进行日志监控

我想监控日志文件中的错误,然后向管理员发送电子邮件。

日志文件包含如下数据

11 Aug 02:30 Service1 restarted
11 Aug 05:35 Service1 restarted
11 Aug 08:43 Service2 restarted
11 Aug 11:20 Service1 restarted
11 Aug 14:53 Service2 restarted
Run Code Online (Sandbox Code Playgroud)

我想创建一个每 5 分钟运行一次的脚本,并检查最后一次服务重启并发送电子邮件。

例如:如果脚本在 02:35 运行,它会看到Service1重新启动,因此它会发送一封电子邮件,如Service1 restarted at 02:30. 现在,当脚本在 5:45 运行时,它应该发送Service1仅在 05:35 重新启动的电子邮件(不应包括 02:35 重新启动)

有没有办法达到这个要求?我基本上是 Linux 和 Shell 脚本的新手

monitoring shell-script

5
推荐指数
1
解决办法
2万
查看次数

运行可执行文件:没有那个文件或目录

我正在尝试运行一个i686-elf-gcc在我的 Kali Linux 中调用的可执行文件,我从这个存储库下载了该文件。这是一个交叉编译器。问题是,即使终端和我编写的脚本都可以看到该文件存在,但在实际执行它的时候我得到了 No such file or directory错误。这是一个解释它的图像:

在此处输入图片说明

我还必须说,我已授予可执行文件必要的权限。

terminal executable cross-compilation kali-linux

5
推荐指数
1
解决办法
6万
查看次数

Redshift 在 Debian 上 Wayland 上的 gnome

您可能知道,Wayland 合成器可以控制和更改屏幕伽马曲线,但目前没有第三方应用程序可以做到;这意味着,至少在韦兰,没有红移或通量。昨天我发现这篇文章解释了一些用户已经修补了 gnome 设置守护程序以使 redshift 在 Wayland 上的 Gnome 中工作,但这个特定版本可以在 Fedora 或 Arch 上工作。我已经在 Arch 中试过了,它可以工作,但 Arch 是我的测试机器,我还不太习惯 Arch。

所以,我的问题是:由于在 Arch 修补的 gst 的 git 仓库中只有PKGBUILD文件,而在gnome-shell扩展的仓库中有要应用的补丁,有没有办法在 debian 上重现所有这些东西?也就是说,有没有办法.deb从 pkgbuild 中制作一个包,或者有人可以解释我如何修补 gst?

我希望我尽可能清楚。

有用的链接:

gnome-shell-extension-redshift-native 的 aur 包

gnome debian wayland

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