您好,我写了一个简单的命令行脚本,假设每 5 分钟截取一次屏幕截图。
(使用 ImageMagick 的“导入”程序)
这是脚本(shottr.sh):
#!/bin/sh
PTH="/home/username/images"
NM=`date +%j`_`date +"%F %k:%M"`
/usr/bin/import -window root -resize 1024 "$PTH/$NM.png" &
echo "Screenshot" | festival --tts &
Run Code Online (Sandbox Code Playgroud)
如果我手动执行,这工作正常,即:
# ./shottr.sh
或者
#sh shottr.sh
cron 设置如下:
*/5 * * * * /bin/sh /home/username/scripts/shottr.sh
脚本本身正在执行(我听到一个声音说:“屏幕截图”)但没有截取实际的屏幕截图。
PS:请放心,这不是权限问题(我放置了一个简单的“触摸”调用并创建了文件)
可能是如果它是从 cron 运行的……它没有“窗口”,所以它不能从任何地方截取屏幕截图??如果是这种情况,那么我该如何解决?
假设我拿了免费的 shell 并用 nick 开始 irssi:nick_test当然,nick 24/7 保持在线,对吗?
但是如果我连接到我的 IRC 客户端,比如 mIRC 或 xchat 并将我的昵称设置为nick_test我无法连接,因为昵称将被占用,对吧?我需要一点信息。
可能的重复:
删除所有文件,但一个带有 rm 的文件
这是一个非常简单的问题,我不知道是否存在解决方案。
我在一个目录中有一些文件,假设我有 .py 和一些其他扩展文件。现在我想删除除以.py文件结尾的文件之外的所有文件。我怎么能用rm命令做到这一点?
那是我想要的东西
!(rm *.py)
Run Code Online (Sandbox Code Playgroud)
是否可以?
我希望能够将我当前的 crontab 输出到一个文件,以便自动检查和附加它。
crontab -l > somefile
Run Code Online (Sandbox Code Playgroud)
创建一个空文件。必须有一个简单的方法来做到这一点,对吧?
如何将 Linux (red-hat 5.4) 中的默认提示从“#”更改为“>”?例子
[root@moon11 root]#
Run Code Online (Sandbox Code Playgroud)
到
[root@moon11 root]>
Run Code Online (Sandbox Code Playgroud) 使我创建的目录及其所有内容只能由我读取/可写/可执行,而其他人不能读取的正确方法是什么?
这是否足够:
chmod g-rx mydir/
Run Code Online (Sandbox Code Playgroud)
这应该使它对除了我之外的所有人都无法读取/无法执行,对吗?
另外,上面的有什么不同?
chmod a-rx mydir/
chmod u+rx mydir/
Run Code Online (Sandbox Code Playgroud)
谢谢。
以下shell脚本有什么问题?我越来越
[: too many arguments
Run Code Online (Sandbox Code Playgroud)
错误
#!/bash
var1=10;
var2=20;
if [ $var1 % 2 -eq 0 ] -a [ $var2 %5 -eq 0 ];
then
#something
fi
Run Code Online (Sandbox Code Playgroud) 我有 3 台虚拟机,我将它们作为一个团队进行了修复,现在它们可以在 1 台本地主机上互相 ping 并互相查看,现在如何编写命令将 1 个文件从虚拟机发送到另一个?
如何进行这种文件传输?这有什么用处吗?
我有 2 个 opensuse gnome os 和 1 个 opensuse kde
我在所有三台机器上都运行了 OpenSUSE。
是否可以使用配置文件创建.sh外壳或.command文件?
我需要通过终端备份网站,并能够将一些数据放入配置文件,并让 shell 执行它。
例如,用户名、密码、ssh id 等。
#!/bin/bash
ssh admin@host.com "tar cjvf webfilesbackup-date-`date +%Y%m%d`.tar.bz2 public_html/"
ssh admin@host.com "mysqldump -u user_admin -ppass database_1 > databasebackup-`date +%Y%m%d`-db.sql"
scp admin@host.com:webfilesbackup-date-`date +%Y%m%d`.tar.bz2 ~/backup/
scp admin@host.com:databasebackup-`date +%Y%m%d`-db.sql ~/backup/
ssh admin@host.com "rm -f webfilesbackup-date-`date +%Y%m%d`.tar.bz2"
ssh admin@host.com "rm -f databasebackup-`date +%Y%m%d`-db.sql"
Run Code Online (Sandbox Code Playgroud) 我想用sed这个丑陋的 RE将千位分隔符插入到一个数字序列中sed -e :a -e 's/\(.*[0-9]\)\(\([0-9]\{3\}\)\(,[0-9]\{3\}\)*\(\.[0-9]*\)\)/\1,\2/;ta' [filename]。
有没有更优雅的解决方案?
================================================== ==========
编辑
我刚才省略了一件事:数字可能有小数点。举个例子:
123456.7890
我想要分离 123,456.7890 后的结果
谢谢和最好的问候。