shell脚本实现命令的⾃动执⾏
背景:在我傻傻的⼿⼯执⾏命令整整⼀天⼿腕都有点疼之后发现shell这个⼤宝贝简直开⼼的不得了
shell脚本返回执行结果1. 关于shell脚本的使⽤:
⼀、编写完成的shell脚本放到脚本要执⾏的⽂件的相同⽬录下
⼆、注意shell脚本的编码问题(windows和mac下编写的脚本格式有问题,与linux不⼀样的),可以⽤notepad++进⾏格式转换
三、脚本的执⾏:在cmd中进⼊脚本⽬录,输⼊bash filename.sh 即可执⾏
四、脚本的后台执⾏:使⽤nohup,并将⽇志输出到⽂件
格式:nohup 要执⾏的python命令 > 输出的log⽂件 2>&1 &
// ⽐如下⾯这条语句,原来在控制台的输出,会重定向到filmTrust_log⾥⾯
nohup python main_gan_attack_baseline.py --dataset filmTrust --target_id 5 --attack_num 50 --filler_num 36 --loss 0 >> filmTrust_log 2>&1 &
//最好⽤-u,让输出即使定向输出到⽂本中,不然缓存⼀直存着最后⽂本啥也没
nohup python -u  main.py --dataset filmTrust --target_id 5  >> filmTrust_log 2>&1 &
如果不加nohup,shell脚本for循环会等当前python执⾏完再执⾏下⼀个,加了nohup就可以并⾏,但要注意服务器资源占⽤,不能并⾏起太多
另:
查看后台进程⽤:ps -aux | grep 关键字
⽐如ps -aux | grep lyli 就是看以“lyli”为⽤户的进程
2. 论shell是如何成为⼤宝贝的
之前是 10(target_id) x 3(model_name) x 2(atttact_method) x 2(dataset) = 120(条)命令,我⼿⼯⼀条⼀条输⼊到cmd,再把结果⼿⼯⼀条⼀条粘出来。 emmmmmm…
现在,三个for循环解决…

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。