gpt4 book ai didi

bash - 语法错误: “(” unexpected in bash script

转载 作者:行者123 更新时间:2023-12-03 08:17:59 28 4
gpt4 key购买 nike

编辑:我已经修复了我的脚本。它似乎正在工作。如果有人有任何改进的建议,我会很乐意提供帮助。显然我需要使用bash而不是sh运行它。
这是更新的脚本:

#!/bin/bash
for file in /home/corey/box/*/*
do
dir=$(basename $"(dirname "$file")")
sudo chmod 0777 /var/log/torrentwatch.log
sudo chmod -R 0777 /home/corey/box/*/*
if [[ "$file" = /home/corey/box/*/*.torrent ]]
then
echo "[$(date)]" "$file added to queue." >> /var/log/torrentwatch.log
/usr/bin/transmission-remote localhost:9091 --auth=transmission:transmission -w /media/Media/Torrents/"$dir" -a "$file"
sleep 40 && rm "$file"
sleep 3 && sudo chmod -R 777 /media/Media && sudo chown -R debian-transmission:debian-transmission /media/Media/info
fi
done

该脚本用于将torrent文件添加到文件夹,并将其添加到传输中。这是脚本的原始版本:
#!/bin/bash
for file in /home/me/box/*/*
do
dir=$(basename $(dirname "$file"));
sudo chmod 0777 /var/log/torrentwatch.log
sudo chmod -R 0777 /home/me/box/*/*
if "$file" = "/home/me/box/*/*.torrent"; then
echo [`date`] "$file" added to queue. >> /var/log/torrentwatch.log
/usr/bin/transmission-remote localhost:9091 --auth=transmission:transmission -l -w /media/Media/Torrents/$dir -a "$file"
sleep 40 && rm "$file"
sleep 3 && sudo chmod -R 777 /media/Media && sudo chown -R debian-transmission:debian-transmission /media/Media/info
fi
done

问题是当我运行脚本时,我得到了
/home/me/box/TV/Name.of.file.torrent: Syntax error: "(" unexpected

我试过用bash,sh和zsh运行脚本,但似乎都没有用。我不知道是什么问题。

最佳答案

这是当前的问题:

if "$file" = "/home/me/box/*/*.torrent"

它正在运行以下内容:
/home/me/box/TV/Name.of.file.torrent = "/home/me/box/*/*.torrent"

...也就是说,它试图将 .torrent文件作为脚本启动(其第一个参数为 =,第二个参数为 /home/me/box/*/*.torrent),这会产生语法错误。而是使用:
if [[ $file = /home/me/box/*/*.torrent ]]

该脚本的其他地方还有其他问题-我强烈建议您通过 http://shellcheck.net/运行它。

关于bash - 语法错误: “(” unexpected in bash script,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25495636/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com