-1
我正嘗試使用通配符複製以某個前綴開頭的目錄中的所有文件。這是我的腳本使用通配符的腳本shell mv不起作用
#!/bin/bash
path="/home/scoubidou/recovered/"
prefix="f"
for i in "[email protected]"
do
if [ ! -d "$path$prefix$i" ]; then
mkdir $path$prefix$i
fi
echo $path$prefix$i* $path$prefix$i
mv $path$prefix$i* $path$prefix$i
done
但是,這是行不通的。通配符似乎不起作用,表達式用一個字符串進行。請注意,該命令在終端中工作得很好。
不知道我下面,到底什麼是你傳遞給腳本? (注意:你可以使用「for i」,因爲bash會假設'in'$ @「') – grail
它是一個數字(例如70)。它看起來像通配符不起作用。 – Spider
那麼現在我更困惑了?你將一個單一的值傳遞給腳本,那麼爲什麼你需要一個循環呢?然後檢查路徑/ f70是否存在,然後將目錄移動到自身中?或者是否有文件或目錄名稱以f70開頭,需要移動?如果你提供了你正在工作的目錄中的實際數據,這可能會有所幫助。 – grail