我試圖寫一個bash腳本,將做到以下幾點:意外結束在while循環在bash
- 以一個目錄或文件作爲輸入(總是以到/ mnt /用戶/開頭) 爲同一個文件或目錄
- 搜索其他掛載點
- 返回值
所以(總是以到/ mnt/diskx開始),例如,輸入將是「到/ mnt /用戶/ my_files/file.txt的」。它會搜索「」/mnt/disk1/my_files/file.txt「是否存在,並會逐漸查找每個磁盤(disk2,disk3等),直到找到它或disk20。
這是我迄今爲止:
#/user/bin/bash
var=$1
i=0
while [ -e $check_var = echo $var | sed 's:/mnt/user:/mnt/disk$i+1:']
do
final=$check_var
done
它不完全是,但我不是在bash,所以我做了一點在一次精通我敢肯定,我命令將無法正常工作或者還沒有,但現在我得到一個「意外的文件結尾」,我想不通爲什麼
爲什麼要重新發明輪子?你有沒有聽說過'find'命令? –
您的條件語法不正確,可能是導致意外的EOF錯誤的原因。 – Aaron
你在嘗試什麼:'-e $ check_var = echo $ var'?在最後的']'之前缺少一個空格,並且'sed'替換內的'$ i'不會被替換,因爲您使用的是單引號而不是double。 – cdarke