Bash
文件名由於某種原因帶有星號 - 它不會被更改並且內容不會被執行
我使用帶有 Bash 的 CentOS 共享伺服器環境。
ll "$HOME"/public_html/cron_daily/
帶來:
./ ../ -rwxr-xr-x 1 user group 181 Jul 11 11:32 wp_cli.sh*
我不知道為什麼文件名最後有一個星號。我不記得添加它,當我嘗試更改它時,我得到了這個輸出:
[~/public_html]# mv cron_daily/wp_cli.sh* cron_daily/wp_cli.sh + mv cron_daily/wp_cli.sh cron_daily/wp_cli.sh mv: `cron_daily/wp_cli.sh' and `cron_daily/wp_cli.sh' are the same file
此錯誤可能表明我的 Cpanel cronjob 失敗的原因:
更改文件或執行 Cpanel cron 命令時我做錯了什麼嗎?因為這兩個操作似乎都失敗了。
星號實際上不是文件名的一部分。您看到它是因為該文件是可執行的,並且您的別名
ll
包含-F
標誌:-F
> > 在作為目錄的每個路徑名之後立即顯示一個斜杠 (’/’),在每個執行檔之後顯示一個星號 (’*’),在每個符號連結之後顯示一個 at 符號 (’@’),一個等號 (`=’ ) 在每個套接字之後,在每個空白之後有一個百分號 (’%’),在每個之後的豎線 (’|’) 是一個 FIFO。 > > >
正如 Kusalananda 所提到的,您不能像這樣使用 cron 將目錄中的所有腳本都全域化。使用 run-parts,您可以呼叫
"$HOME"/public_html/cron_daily/
以執行目錄中的所有腳本(不僅僅是 .sh)或循環通過它們,如本文所述。