我有一个Linux脚本,它像这样读取用户输入:
read -er user_input
这可能会失败,因为-e在bash中是受支持的(可能还有其他一些shell),但是如果使用zsh,则会失败。我想出了这个:
{
# This may fail. The "e" option is a bash extension that allows user to
# use arrows to navigate the input. If it fails, we fall back to classic
# read and ignore the error
我正在尝试在Linux Mint 15上编译Cyanogenmod,并收到以下错误。
host StaticLib: libmincrypt (/home/benji/Source/out/host/linux-x86/obj/STATIC_LIBRARIES/libmincrypt_intermediates/libmincrypt.a)
ERROR: prebuilts/tools/gcc-sdk/../../gcc/linux-x86/host/x86_64-linux-glibc2.7-4.6/bin/x86_64-linux-ar only run on 64-bit linux
m
我正在编写Linux,并试图编写一个脚本,它就像一个触发器,如下所示:
if user hasn't typed any command for 2 min
execute some executable file
fi
如果我有这样一个脚本,我可以将它作为一个守护进程。例如,我可以让我的系统这样做:
if user stops typing command for 2 min
shutdown -h now
fi
这适用于通过java或任何包装器在linux下运行的任何其他应用程序。
在“系统监视器”下,“我的世界”显示为"java“。这是个问题..。
如果正在运行的java应用程序不是“我的世界”呢?如果有几个呢?
我的剧本中最好的是:
if ps ax | grep -v grep | grep java > /dev/null
then
echo "Minecraft is running"
else
echo "Minecraft not running, run Minecraft to continue"
fi
我怎么能确定“我的世界”正在运行,
我正在从终端内部运行一个命令,通过目录检查媒体文件,然后从这些文件中提取封闭的字幕数据。不幸的是,即使没有封闭的标题数据,程序仍然处理整个文件,这可能需要很长时间。我想要做的是在60秒后检查输出并查找数据,如果文件为空,则终止进程并转移到下一个文件。
我以前的命令如下
for i in */*.vob
do
/home/me/ccextractor/linux/ccextractor -out=srt -utf8 -trim "$i"
done
我一直在试验sleep,但我似乎无法让它发挥作用。有什么建议吗?
解决方案
在以下答案的帮助下(也请注意这些评论),我的最
我想从C#程序在linux服务器上执行一个脚本,我有一个示例代码如下。
var ssh = new SshClient("ip", "user", "password");
var cmd = ssh .CreateCommand("./executescript");
cmd.BeginExecute();
var reader = new StreamReader(cmd.OutputStream);
var result = reader.ReadToEnd();
但我无法完成执行脚本,因为它会问一个问题,比如‘你想这样做吗
执行命令时(在Linux中):
go run test.go |head
输出为:
line 0
line 1
line 2
line 3
line 4
line 5
line 6
line 7
line 8
line 9
signal: broken pipe
如何防止程序打印信号通知(最后一行)?
顺便说一句:即使是2>/dev/null也不能工作。可能是输出到TTY的最后一行
我正在尝试将更新版本的lsblk安装到Red Hat Enterprise Linux Server 7.6。我已经在我的系统上安装了util-linux版本的util-linux.x86_64-2.23.2-59.el7_6.1,但是由于兼容性问题,我需要让lsblk在2.27.1版本上使用,不幸的是,Red不推荐更新的util-linux软件包。我试图搜索epel存储库,但没有成功。有没有办法安装更新版本的lsblk?
我在Linux和solaris下运行相同的脚本。下面是脚本:
#!/bin/sh
index=0
ls /tmp | grep e |
while read fileWithE
do
echo $fileWithE
index=`expr $index + 1`
done
echo "index is $index"
由于while循环在子while中运行,所以在solaris和linux中,我期望'index is 0‘作为输出。但是在solaris中,$index是/tmp下包含'e‘的文件的实际数量。那么,虽然循环不会在solaris下的