昨天我遇到了非常不同的问题。我试图使用此命令“sh -e log_path_only.txt”来执行log_path_only.txt,它似乎已执行,但事实并非如此。我期望命令行执行 log_path_only.txt 在执行此文件后根据 log_path_only.txt 删除这些静态文件。我使用 shell 作为 root,所有文件权限似乎都属于 root。
log_path_only.txt contains only these lines not anything else
rm -rf /home/mywebsite/www/staticfiles/static-003ae2a3f686d43ec5c3207ec0ae744b-003ae2a3f686d43ec5c3207ec0ae744b-c23c5fbca96e8d641d148bac41017635
rm -rf /home/mywebsite/www/staticfiles/static-00e937fb20315addd5008ebb76134e7e-00e937fb20315addd5008ebb76134e7e-c23c5fbca96e8d641d148bac41017635
rm -rf /home/mywebsite/www/staticfiles/static-00edf2d8a63f1cdc9580092629f580cb-00edf2d8a63f1cdc9580092629f580cb-c23c5fbca96e8d641d148bac41017635
rm -rf /home/mywebsite/www/staticfiles/static-00f1cea6b137132172ad8ea6fc90ab0d-00f1cea6b137132172ad8ea6fc90ab0d-c23c5fbca96e8d641d148bac41017635
[root@www uploads]# ls -l
total 464
-rw-r--r-- 1 root root 0 Oct 19 11:30 148bac41017635
-rw-r--r-- 1 root root 4 Oct 19 11:34 counter.txt
-rw-r--r-- 1 root root 34488 Oct 16 00:15 file_source.txt
-rw-r--r-- 1 root root 204521 Oct 19 11:32 log_both_path_urls.txt
-rw-r--r-- 1 root root 80625 Oct 19 11:32 log_links_only.txt
-rw-r--r-- 1 root root 131184 Oct 19 11:32 log_path_only.txt
[root@www uploads]# sh -e log_path_only.txt
[root@www uploads]#
(我尝试第一个静态文件,如果它在那里,是的,它是。它应该被删除)
[root@www uploads]# [ -f /home/mywebsite/www/staticfiles/static-003ae2a3f686d43ec5c3207ec0ae744b-003ae2a3f686d43ec5c3207ec0ae744b-c23c5fbca96e8d641d148bac41017635 ] && echo "File exist" || echo "File does not exist"
File exist
到目前为止我尝试过的是
1) Copy log_path_only.txt to another place then execute : fail
2) By using cat command to copy contains to another file then execute: fail
3) I changed permission as "chmod +x log_path_only.txt" and try to execute: fail
4) I changed permission as "chmod 777 log_path_only.txt" and then try to execute: fail
5)我使用nano打开log_path_only.txt,复制所有行,创建一个新文件并将所有内容粘贴到其中,然后执行新文件:成功
答案1
在你的建议之后,我专注于 CR 和 LF。我使用此命令将文件从 dos 转换为 unix:
dos2unix log_path_only.txt
现在正在工作。