Bash

文件名由於某種原因帶有星號 - 它不會被更改並且內容不會被執行

  • July 15, 2018

我使用帶有 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)或循環通過它們,如本文所述。

引用自:https://unix.stackexchange.com/questions/456320