我想制作一个脚本,将所有无损文件从我的相机转码为 3mb/s,并将编解码器更改为 h.264。我找到了一个命令,它将文件导出为一个大文件,但我想要一些可以保留名称并将输出放在另一个目录中的东西。请注释说明命令的每个部分的作用,以便我可以根据需要对其进行修改。
编辑
这有效:
for file in *.avi; do ffmpeg -i "$file" "${file%.avi}".webm; done
Run Code Online (Sandbox Code Playgroud)
我只想知道每个部分的作用,以便我可以根据需要对其进行修改。
我写这个脚本是为了从网络摄像头服务器上获取一些文件。这些文件都已下载,但是当我运行脚本时,即使在下载文件之后,最后一行也永远不会结束。所以,我想知道为什么。为什么这个脚本永远不会终止?该wget命令得到了最后一个文件,但并没有退出。
#!/bin/bash
x="127.0.0.1"
z=0
while read line
do z=$(($z+1));
echo $x${line//};
wget $x${line//};
done < "/home/jay/Desktop/PINGS"
read
Run Code Online (Sandbox Code Playgroud)
那么为什么这个脚本不终止呢?
我正在编写一个脚本来使用 bash 脚本检查 mysql 数据库,我想检查表的状态是否不是“OK”,将返回表名并执行更多操作:
检查日志
table1 OK
table2 Some error here
table3 OK
table4 OK
table5 Another error
table6 OK
table7 Broken
table8 A very long error which take a 2 lines
of multiple errors
Run Code Online (Sandbox Code Playgroud)
检查.sh
# check and repair tables
mysqlcheck -u $hostUser -p$hostPasswd --all-databases --check --auto-repair >> check.log
# grep tables status, should return OK
cat check.log | grep 'OK' | awk '{print $2}'| while read status; do
# if any table does not contain OK
if …Run Code Online (Sandbox Code Playgroud) 我有一个 python 脚本,我想让它每 10 分钟运行一次,我该怎么做?提前致谢。
最终转向 Linux 并决定学习绳索的最佳方法是尝试编写脚本。
尝试制作一个基本的(开始非常基本并不断增长)脚本,根据用户输入自动挂载或卸载分区。以为我走在正确的道路上,但无法弄清楚出了什么问题。如果这只是非常愚蠢的事情,请提前道歉。
#!/bin/bash
# Test script to auto mount hdd based in user input
echo "Do you wish to mount or unmount?"
read origin
if [ $origin == mount ]; then
echo "Partitions : $(lsblk)"
echo "Please enter device name e.g. sda1"
read device
echo "Please enter dir location e.g. /mnt"
read location
mount -t ntfs /dev/$device $location
if [ $origin == unmount ]; then
echo "Mounts : $(mount)"
echo "Please enter mount location e.g. /mnt"
read ulocation …Run Code Online (Sandbox Code Playgroud) 普通用户可以运行这个脚本,但是 root 找不到它。
我有一个简单的脚本,保存在~/bin. 我更新了.profile文件以将此文件夹包含在 PATH 中。我可以进入终端,在任何目录中工作,输入脚本的名称,它运行良好。但是如果在那个终端中我切换到 root,则找不到脚本。我假设某处有一些文件需要新的 $PATH 更新,但我不知道是哪一个。
我想在其他应用程序运行时运行应用程序。例如,在脚本中,我启动了一个应用程序:
#!/bin/sh
bob
Run Code Online (Sandbox Code Playgroud)
并且此应用程序将运行很长时间。但是,我想在启动 5 秒后运行另一个应用程序alice(将使用bob的结果)bob。我应该如何进行?
我知道 X11 将通过startx. startx位于/usr/bin/startx. 那么第一个调用到startx哪里呢?我想确切地知道哪个脚本正在运行startx。
我正在尝试制作一个可以从命令行运行的应用程序。例如application -h。所以我把一个bash脚本,我/usr/local/bin/是不会cd /path/to/application 那么下一行./Main.py。但是如果我执行命令它不会收到-h. 但是,如果我在我的别名中.bashrc使用相同的命令,它就可以正常工作。如何更改 bash 脚本以使用参数?为什么别名有效但脚本无效?
我有属于两个扩展类别(.out 和 .error)的文件。是否有一个命令可以一次删除它们?
我试过了,rm -f *.out || *.error但没有用。谢谢
(我也看到了链接的帖子,但我仍然不确定如何处理多个扩展名)
编辑:非递归案例