电话
instaloader --post-filter="likes > 16720 and not is_video and date_utc >= datetime(2021, 5,
29)" --no-profile-pic --no-videos --count=12 cristiano
工作正常。
但是放入相同的代码test.sh
,然后像这样从 powershell 运行它
sh .\test.sh
或者
sh ./test.sh
或者
sh test.sh
我收到这样的错误
usage:
instaloader [--comments] [--geotags]
[--stories] [--highlights] [--tagged] [--igtv]
[--login YOUR-USERNAME] [--fast-update]
profile | "#hashtag" | %location_id | :stories | :feed | :saved
instaloader --help
instaloader: error: unrecognized arguments: cristiano
如果您想亲自测试它,只需instaloader
安装pip install instaloader==4.7.1
.sh
PS:几天前,同样的脚本在 -files 中也可以正常工作,也许对我的 bash/powershell/windows10 的一些更新导致了这个问题。我猜想问题在于它能够转义引号内的空格。
我使用的是 bash 4.4。并且没有使用 WSL。
编辑:
我通过临时修改修改了我的脚本,使其正常工作,直到这个问题得到解决。我所做的是使用 python 运行命令,现在我的test.sh
看起来像这样
FILTER="likes > 16720 and not is_video and date_utc >= datetime(2021, 5, 29)"
CMD="instaloader --post-filter=\""$FILTER"\" --no-profile-pic --no-videos --count=12 cristiano"
echo "import os" > test.py
echo "os.system('"$CMD"')" >> test.py
python test.py
来自 python 的调用工作正常。伙计们,这个黑客工作得很好,没有问题。由于 @roaima 想查看我在此处添加的工作 python 代码,因此这里的问题没有多大意义。因此,为了避免混淆,不要查看此编辑部分,只需关注上面的主要问题。