unix-shell

抑制 echo 中的 * 扩展
unix-shell

抑制 echo 中的 * 扩展

我正在编写一个脚本,该脚本每天动态执行一些查询。这些查询来自数据库中的表。 以下是查询表的示例输出: +---------------+-------------------------------+---------+ | query_name | query | userid | +---------------+-------------------------------+---------+ | All_User | select * from users LIMIT 10; |...

Admin

使用 mv 时出错
unix-shell

使用 mv 时出错

当我尝试 mv 一些毫无意义的文件时,我收到一个错误。我收到此错误: mv: cannot move `thatDir' to a subdirectory of itself, `/usr/local/apache-tomcat-6.0.32/webapps/thatDir' 运行以下命令来替换 /webapps 中已存在的 thatDir 时: From /home/myUser/war_files/ mv thatDir /usr/local/apache-tomcat-6.0.32/webapps 我也尝试了所有方法: sudo mv...

Admin

如何在 shell 脚本中对 rdesktop 密码参数进行编码?
unix-shell

如何在 shell 脚本中对 rdesktop 密码参数进行编码?

我可以使用此脚本从 Linux 连接到 Windows RDP 会话: #!/bin/bash /usr/bin/rdesktop -N -x m -u Administrator -p secret123 -d DOMAIN1 127.0.0.1:33891 (远程 Windows 服务器的 RDP 端口已安全地隧道传输到本地主机的 33891 端口) 但是此脚本不能正确传输密码: #!/bin/bash /usr/bin/rdesktop -N -x m -u Administrator -p #secret$123# -d DOMAIN2 1...

Admin

如何在 bash 中以更清晰的方式连接环境变量路径?
unix-shell

如何在 bash 中以更清晰的方式连接环境变量路径?

为了修改我的路径(如 LD_LIBRARY_PATH 或 PYTHONPATH),我首先检查变量是否存在。如果存在,我连接我的旧值与新值(用分号分隔),否则我设置我的变量为新值。 NEW_PATH='/path/to/new/path' if [ $LD_LIBRARY_PATH ] then export LD_LIBRARY_PATH=$NEW_PATH:$LD_LIBRARY_PATH else export LD_LIBRARY_PATH=$NEW_PATH fi 它可以工作,但是当脚本中有很多这样的...

Admin

使用自定义时间在 crontab 上安排作业
unix-shell

使用自定义时间在 crontab 上安排作业

有人能帮我在 crontab 上安排一个作业吗?该作业将于每月 12 日运行,如果 12 日是周末,则它应在下周一运行。 我在网上找到了一些东西,但它不起作用 0 0 12 * * [ "$(date +%d -d tomorrow)" == "12" ] && [ "$(date +%u -d 12th)" -gt 5 ] && your-command 这是 ChatGPT 给我的。我不知道如何调试这个 ...

Admin

在 rsyslog 模板中添加 mac 地址
unix-shell

在 rsyslog 模板中添加 mac 地址

我正在尝试在 syslog 中添加系统/设备 mac 地址。没有解决方案对我有用。以下命令提供了 mac 地址,只是想在 rsyslog 模板中使用。 mac_addr=$(ifconfig en0 | awk '/ether/ {print $2}') 模板 template(name="tpl3" type="string" string="%TIMESTAMP:::date-rfc3339% %HOSTNAME% MAC=%$mac_addr% %syslogtag%%msg:::sp-if-no-1st-sp%%msg:::drop-last-lf...

Admin

每 7 天更改一次 Ubuntu 服务器密码并自动登录
unix-shell

每 7 天更改一次 Ubuntu 服务器密码并自动登录

我正在处理一个场景,需要每 7 天更改一次 Ubuntu 服务器密码并进行自动登录。 我尝试解决这个问题:使用密码创建用户的命令: useradd -p $(openssl passwd -1 "krspassword") krs 而不是cron每 7 天执行一次 但没有用 有谁能帮忙吗? ...

Admin

如何在 ESXi Hypervisor 中启用通过 shell 脚本运行的命令的日志记录?
unix-shell

如何在 ESXi Hypervisor 中启用通过 shell 脚本运行的命令的日志记录?

在 ESXi Hypervisor 上,如果我通过 SSH 在终端上运行命令,则该命令将记录在 shell.log 文件中,即如果我运行此命令 [root@esxi04:~] ls -la 然后我可以在 shell.log 文件中看到该命令: <164>2023-02-22T09:34:24.337Z test_host shell[68783]: [root]: ls -la 但如果我改用 shell 脚本,就像这样 #!/bin/sh echo "Test" ls -la find / -name "*.log" -exec /bin/rm ...

Admin

如何让 shell 以 suid 方式执行
unix-shell

如何让 shell 以 suid 方式执行

我正在尝试使用 shell,但它不起作用。我需要帮助来了解原因以及如何修复它... 我正在按照以下步骤操作(以 root 身份) cp /usr/bin/bash /usr/bin/bash-emergency chmod 4755 /usr/bin/bash-emergency bash-emergency 归 root 所有:root 我希望这应该以 root 身份执行 bash-emergence,从而产生一个 root shell 我知道不这样做的所有原因。这是在实验室中。为了进行此测试,su 和 sudo 不是一个选项。我需要用户能够获得 roo...

Admin

制作具有特定字母的文件和目录的 gzip 压缩 tar 存档
unix-shell

制作具有特定字母的文件和目录的 gzip 压缩 tar 存档

我只想要包含该字母的目录和文件。我能够从上一个问题。但是 tar 不是 gzip。 当尝试使其成为 gzip 时...它不会从硬链接目标中删除前导 '/'?这会毁了它。 这是修改后的代码(不是 gzip) find /path/to/dir/ -type d -name "*x*" -o -type f -name "*x*" -exec tar rvf x.tar.gz {} \; Gzip压缩: find /path/to/dir/ -type d -name "*x*" -o -type f -name "*x*" -exec tar cvzf x....

Admin

rush 配置错误:不是绝对目录名
unix-shell

rush 配置错误:不是绝对目录名

从 rssh 迁移到 rush…… 我不明白这是什么意思not an absolute directory name。请参见下面的日志: Aug 31 14:07:24 secmgrprd04 systemd: pam_unix(systemd-user:session): session opened for user upload by (uid=0) Aug 31 14:07:24 secmgrprd04 rush[3904968]: debug level set to 3 Aug 31 14:07:24 secmgrprd04 rush[39049...

Admin

骨架文件 /etc/skel/ 自动将更改同步给所有用户
unix-shell

骨架文件 /etc/skel/ 自动将更改同步给所有用户

Linux 发行版将一些重要的脚本和配置文件放在 Skeleton 中,然后从那里将它们复制到每个新用户的主目录中。理想情况下,应该使用系统范围的文件,而不是自动复制到主目录中的任何文件,但这并不总是可行或实用的。特别是,shell 启动脚本几乎总是放在 skel 中。 当软件包升级并且对这些脚本需要做的任何更改都安装在 /etc/skel/ 中但所有现有用户仍在他们的家中保留旧版本时,这会带来问题,并且旧版本通常会导致更改的系统软件出现严重问题。 这些更改需要以自动方式同步给所有现有用户。我们不想覆盖用户自己的更改,因此简单的 cp 或 rsync 是不够...

Admin

在远程虚拟机上获取输入
unix-shell

在远程虚拟机上获取输入

下面是我的用例,我必须从用户那里获取需要在远程机器上运行的特定命令的输入。但我的问题是我无法直接访问该机器,所以我正在做什么 SSH 到其他服务器,然后从那里 SSH 到该服务器。但在该服务器上,我们无法从用户那里获取任何输入输出。 以下是示例脚本:- ssh user@machine1 /bin/bash <<\EOF1 ssh user@machine2 /bin/bash <<\EOF2 pwd echo " Enter input :" read -r input curl -XPOST -k -H "Content...

Admin

问题背景
unix-shell

问题背景

问题背景 我正在尝试实现一个作业协调器,其代理/工作程序通过 SSH 会话/shell 连接到机器。我想将(可能是二进制)文件传输到这些代理(任何类型的任务都可能需要这些文件)。 显然,如果端口可以以任何方式配置,那么nc就可以执行几个指令。但是,我正在尝试获取一些可以在最严格的设置下运行的东西。 在这种设置下工作时,我经常会(手动)将文件序列化为 Base64 或类似格式,然后将数据“粘贴”到控制台会话中,如下所示: echo -n "BINARY_BASE64_DATA" | base64 --decode > file_destination.f...

Admin