Tag: 脚本

温度和RAM监控脚本

我有以下脚本: while : do clear; echo “—————————RAM Load——————————$ free -mt >> memory.txt; free -mt; echo “—————————Temperature—————————$ sensors >> temp.txt; sensors; sleep 1; clear; done 获取当前系统RAM和温度并将其写入两个文件,分别为memory.txt和temp.txt 我想在带有Dygraphs的Web服务器上使用这些数据,这是清理数据的最佳方法,因为它提供了这两个文件: memory.txt temp.txt 对于RAM部分,我只需要-/+ buffers/cache:行,而温度部分只需要温度。

shell脚本的权限:如何写入/ var

我正在写一个备份脚本。 该脚本位于/usr/local/backup-scripts文件应存储到/var/backup/subdirectory我想使用cron job或systemd-timer运行脚本。 我不知道如何正确设置权限。 当然,为了测试我可以sudo运行脚本。 但是当cron作业或systemd运行脚本时会发生什么? 他们(他们= cron或systemd)是否拥有su权利? 不幸的是,我不熟悉Linux中的权限,所以我不知道是否必须将脚本chown给特殊用户(可能是sys ???)或者“正确”的方式。 感谢每一个帮助,欢呼Stefan

如何获取源文件的真实路径

我在~/.bashrc添加了这一行 . /mnt/c/Users/enzo/drive/projects/dotfiles/init.sh 并且在init.sh内部我试图获取init.sh的路径,但我无法做到。 到目前为止我试过这个: CURDIR=`/bin/pwd` BASEDIR=$(dirname $0) ABSPATH=$(readlink -f $0) ABSDIR=$(dirname $ABSPATH) REAL=$(realpath $0) echo “CURDIR is $CURDIR” echo “BASEDIR is $BASEDIR” echo “ABSPATH is $ABSPATH” echo “ABSDIR is $ABSDIR” echo “REAL is $REAL” 输出: CURDIR is /mnt/c/Users/enzo BASEDIR is /bin ABSPATH is /bin/bash ABSDIR is /bin REAL is /bin/bash 我在windows子系统下用于linux。

测试是否在实时会话中操作或不在shell脚本中操作

我有一个只能从实时会话(LiveCD或Live USB)运行的shell脚本,因为它缩小了实际安装的根文件系统,这只能在未安装文件系统时完成。 如果脚本是从实时会话运行的,那么它应该继续执行。 如果没有,它应该失败。 我无法找到区分实时会话和“正常”用户会话的方法,因为实时会话的外观非常接近已安装的系统会话。 到目前为止我唯一可以说的是,实时会话总是以ubuntu作为主机名,但我不能依赖它,因为用户可以在安装Ubuntu时选择它。 有没有办法在shell脚本/命令行中识别它? (我在Ask Ubuntu或Stack Overflow上发帖之间犹豫不决,如果更合适,我可以删除post并重新发布Stack Overflow )

fsl.sh无法获取

我需要安装FSL和Freesurfer作为运行Connectome Mapper的一部分。 Freesurfer需要将shell更改为tcsh才能配置其文件夹。 现在对于FSL,我必须添加.profile行bash /etc/fls/5.0/fls.sh ,但是这行实际上什么也没做,所以当我登录到控制台并发送echo $FLSDIR我实际上什么都没有。 如何在tcsh控制台中使用此sh脚本? fsl.sh文件由下式给出: # FSL configuration file # – to be sourced by the user, typically in .bashrc or equivalent # – note that the user should set # Written by Mark Jenkinson, FMRIB Analysis Group, University of Oxford # Modified for Debian by Michael Hanke # clean out […]

如何找到特定应用程序的窗口并将它们放入网格中?

我正在尝试编写一个脚本来识别所有打开的镀铬窗口,并将它们移动到大屏幕上的网格布局中 我不知道如何找出最佳分辨率是什么,所以我要手动将它们添加到一个数组中,这样如果有1个镀铬窗口可用,那么最大化,如果有2个镀铬窗口可用,那么就转到一个数组大小为了那个原因? 目前我可以移动屏幕上的每个窗口(这样做时会破坏我的显示)但我可以看到如何移动只有铬屏幕? 下面的脚本是我的一些想法,但请指出正确的方向,因为脚本不起作用 #!/bin/bash #Chrome window crontroller # Monitor 1920 X 1800 # Choose array for number of screens available # Different screen positions G=0 win1_X=5; win1_Y=24; win1_W=639; win1_H=499; win2_X=642; win2_Y=24; win2_W=639; win2_H=499; win3_X=1280; win3_Y=24; win3_W=639; win3_H=499; win4_X=5; win4_Y=552; win4_W=639; win4_H=499; ChromesAvailable() { CA=$(wmctrl -lx | grep Chromium | wc -l) } GetNumOfChrome() { […]

如果shell脚本中的/ Else在Ubuntu for Windows中引发错误

这是一个简单的shell脚本示例: #!/usr/bin/env bash if [ 1 == 1 ]; then echo “Something” fi 当我跑这个 sh ./test.sh 我明白了: ./test.sh: 4: ./test.sh: Syntax error: “fi” unexpected (expecting “then”) 它似乎没有认出我在那里的’那么’。 任何线索为什么? 这是部分重要的Ubuntu for Windows。 一般运行shell脚本不是问题,它似乎与if / else斗争。

当我使用电池供电时,我的设置可以自动定制吗?

当且仅当计算机以电池电源启动时,是否可以调整设置? 为什么? 我通常在没有电池的情况下工作,但是当我使用电池时,我希望它能够尽可能长久地使用。 为此,我使用小调整(格兰诺拉麦片用于最小功耗,关闭wifi和蓝牙,以及亮度设置)。 什么? 每当我用电池启动笔记本电脑时,我都必须手动调整所有这些设置。 在一开始就没关系,但现在我希望这些调整能够自动完成。 我希望在使用电池电源启动时自动调整 将笔记本电脑设置为飞行模式(无wifi或蓝牙) 将屏幕调暗至50% 禁用所有usb输入(我经常在usb插槽中留下一些东西,但我不希望它们被激活) 将格兰诺拉麦片的电源模式设置为最小消耗(这需要sudo )。 有任何想法吗? 登录电池时自动运行的脚本? 什么?

检测到I / O时运行脚本

我有蓝牙鼠标xinput设置脚本,只要我连接鼠标就可以运行。 目前我只是将短键别名为bm文件执行的’bm’,但我想知道是否有自动方式在检测到鼠标连接时执行bash文件或别名命令。 预先感谢! ubuntu 16.10

算术二进制运算符-gt,-lt给出错误但在shell脚本中工作

我写了这个简单的脚本它也有效,但显示错误 clear echo Enter 1st number read n1 echo Enter 2nd number read n2 echo MUlti is `expr $n1 \* $n2`; if [$n1 -lt $n2] then echo $n1 ‘is bigger than’ $n2 else echo $n2 ‘is bigger than’ $n1 fi 产量 Enter 1st number 5 Enter 2nd number 10 MUlti is 50 ./script.sh: line 7: […]