簡體   English   中英

在文件夾中執行隨機腳本

[英]Execute a random script in a folder

我需要在一個文件夾中運行一個隨機腳本。 我可以使用 'ls -1 /home/sepinto/EML-Samples/scripts/regular | 排序-R | head -1' 獲取隨機文件名,但我該如何執行它?

謝謝

我可以使用 'ls -1 /home/sepinto/EML-Samples/scripts/regular | 排序-R | head -1' 獲取隨機文件名,但我該如何執行它?

這取決於您使用的 shell。 我假設您的 shell 是 bash 或 sh 並且腳本已經可執行。

然后你需要做的就是用反引號將上面的命令行括起來。 您在反引號之間鍵入的所有內容都由 shell 評估(執行),然后由命令的 output 替換。

`ls -1 /home/sepinto/EML-Samples/scripts/regular | sort -R | head -1`

編輯:
事實證明,如果 ls -1 通過管道傳輸到另一個命令中,路徑將被刪除。
一種解決方案是將路徑存儲在變量中,以便您可以使用它兩次:

d="/home/sepinto/EML-Samples/scripts/regular"; $d/`ls -1 $d/ | sort -R | head -1`

首先,更改 ls 命令以列出具有完整路徑的文件,然后直接使用反引號執行它們或將它們存儲在變量中。

SCRIPTNAME=`ls -1 /home/sepinto/EML-Samples/scripts/regular/*.sh | sort -R | head -1`
echo "Executing $SCRIPTNAME"
"$SCRIPTNAME"

上面假設所有文件都以 a.sh 結尾,如果不是這種情況,請更改ls參數。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM