crontab中命令列中的百分號 需要做轉義

2021-06-27 06:49:46 字數 638 閱讀 5762

比如

我在crontab -e中用命令

echo -e 「`date 『+%s』`\t$random」 > /tmp/***

的話命令列直接用沒有問題

但寫在cron裡的時候

『%』需要轉義成』\%』

原因還沒找到

原因終於找到了

在linux下看crontab的幫助

man 5 crontab

裡有這麼一段:

percent-signs (%) in the command,

unless escaped with backslash (\), will be changed into newline charac-

ters, and all data after the first % will be sent to the command as

standard input.

大概意思是說

在cron檔案的第六列,也就是命令列

百分號(%)被賦予了特殊含義

被看做是換行符,而且,其後面的內容被當做命令的標準輸入

所以,要想正常使用百分號(%)的功能

需要在其前面新增轉義符(\)

命令列中的 和

關於 system v 和bsd 風格以及他們與 linux 的關係 1 system v 和bsd 同出於at t實驗室的兩個不同的部門,systemv 是乙個unix 的商業化標準,bsd為 unix 標準化的 berkeley 風格。2 由於 linux 是linus torvalds 在以u...

Linux中的命令列

1.shell 是什麼?shell既是為使用者提供操作介面的軟體,也是核心保鏢。shell分為倆種,一種是圖形介面shell,另一種是命令列式shell 2.kernel 核心 是系統核心程式,負責管理系統的程序,記憶體,裝置驅動程式,檔案和網路系統。3.命令列提示符 kiosk 開啟shell的使...

命令列中的 和

bash shell 在執行某個命令的時候,會返回乙個返回值,該返回值儲存在 shell 變數 中。當 0 時,表示執行成功 當 1 時,表示執行失敗。有時候,我們需要下一條命令依賴前一條命令執行成功與否的狀態。如 只有在成功地執行一條命令之後再執行另一條命令,或者只有在前一條命令執行失敗後,再執行...