我目前正在屏幕上运行服务器控制台程序,因为我需要阅读它并偶尔发送命令。
我想在后台将应用程序作为守护程序运行(使用 init 启动/停止它)。
我可以tail -f记录日志,但这不会让我向进程发送输入。
有什么方法可以设置它以便我可以读取和发送输入,但仍然让它在后台运行?
我还希望能够将来自不同进程的输入发送到守护程序(例如,可以发送“停止\n”命令的 shell 脚本)。
我有一个 bash 脚本,它执行如下操作:
zip -0 ../backup/backup.zip \
-r ./* \
-x \*CVS\* \
-x *Thumbs.db* \
Run Code Online (Sandbox Code Playgroud)
它备份的目录是一个 SVN 归档文件(过去它曾经是 CVS)。我一直无法让它排除 .svn 及其内容。排除 .svn 的最干净方法是什么(递归遍历整个树)?
我正在尝试编写一个 shell 脚本,它要求在 AZ 或 az 范围内输入一个 ASCII 字符并返回其等效的数值。例如,输出可能如下所示:
scarlet$ Please type a character between A and Z or between a and z:
scarlet$ A
scarlet$ The decimal value of A is: 65
Run Code Online (Sandbox Code Playgroud)
我的尝试:
#!/bin/bash
echo Enter a letter:
read A
echo -n ${A} | od -i | head -1 | cut -b 10- | tr -d " "
Run Code Online (Sandbox Code Playgroud) 我想在一大组文件中搜索和替换一些文本,不包括某些实例。对于每一行,我想要一个提示,询问我是否需要替换该行。类似于 vim 的:%s/from/to/gc(带有cto 提示进行确认),但跨一组文件夹。是否有一些好的命令行工具或脚本可以使用?
我有一个守护进程,在 bash 中实现并通过cron和@reboot选项运行,它显示桌面处于非活动状态。脚本如下(为了测试目的,时间很短):
#!/bin/bash
P_STATE=0
while :
do
sleep 5
if [ $P_STATE == 0 ]; then
[ `xprintidle` -ge 25000 ] && P_STATE=1 && wmctrl -k on
else
[ `xprintidle` -le 25000 ] && P_STATE=0
done
Run Code Online (Sandbox Code Playgroud)
问题:例如,如果用户仍然在登录屏幕中,xprintidle并且wmctrl由于桌面尚未加载而失败。为了避免这种情况,我将下一行放在脚本的开头:
while:
do
sleep 10s
[ -n `who | grep "$USER"` ] && break
done
Run Code Online (Sandbox Code Playgroud)
因此,脚本等待用户(在 crontab 文件中将 USER 变量设置为我的用户名)被记录。但是,如果用户开始,例如,终端会话(而不是像 KDE 或 GNOME 这样的图形会话),脚本也会继续。
如何确定用户是否已经处于能够“显示桌面模式”的“图形”会话中?此外,我如何确保“图形”会话已完全加载并且不在加载过程中或类似的东西?
我的解决方案:
我的(非正式)解决方案是在主循环中添加以下grep行:
WAIT_TIME=180
while:
do
sleep $WAIT_TIME
[ …Run Code Online (Sandbox Code Playgroud) 如何使用字计数器 ( wc) 和管道来计算目录中有多少文件或/usr/bin目录?
根据上次修改日期递归地对目录中的文件进行排序
我修改了目录中的很多文件,想通过按上次修改日期对它们进行排序来了解这些文件是什么,并且我希望排除某些扩展名
在 svn 目录中,我也有很多 .svn 文件,我不想在排序中显示
我是 Linux 的新手用户,使用 Linux mint 17.1
我在过去 3 天内为该问题重新安装了 Linux Mint 20 次,但无法修复它
我正在尝试使用 rvm 在 rails 上安装 ruby .
通过在过去 3 天内重新安装它超过 20 次,我也在网上搜索过。有人告诉我将环境变量放入/etc/environment我在该会话中回显的路径中并将其粘贴到/etc/environment文件中。
即使现在我也没有得到我安装的 gems
当我输入时rvm -v出现以下错误
Warning: PATH set to RVM ruby but GEM_HOME and/or GEM_PATH not set, see:
https://github.com/wayneeseguin/rvm/issues/3212
Warning! PATH is not properly set up, $GEM_HOME is not set,
usually this is caused by shell initialization files - check them for 'PATH=...' entries,
it might also help to re-add …Run Code Online (Sandbox Code Playgroud) 我想编写一个脚本来仅返回输入文件名的扩展名。例如,textfile.txt
应该返回txt.
我是 Linux 和 bash 的新手,我正在尝试学习如何编写基本脚本。谢谢!
我知道我们可以mail在终端中使用命令mail以交互模式开始使用程序。
但是,我想以mail非交互方式使用命令阅读电子邮件。
有没有类似的命令
$ mail -optionToReadMail -mailNumber 1;
Run Code Online (Sandbox Code Playgroud)
这将在 stdout 中显示电子邮件的内容?
scripting ×10
bash ×4
find ×2
desktop ×1
file-types ×1
interactive ×1
linux ×1
linux-mint ×1
mailx ×1
od ×1
session ×1
shell ×1
shell-script ×1
sort ×1
tail ×1
ubuntu ×1
vim ×1
wc ×1
zip ×1