2014-12-07 70 views
-3

我正在嘗試創建一個bash腳本,該腳本從用戶處接收命令並將其應用於特定類型的文件。 有人可以提供代碼。將命令應用於特定文件

echo "Enter your command" 
read user-cm 
echo "Enter the type of files (ex. php, c,)" 
read filetp 
find . -name "*. $filetp" -type f | xargs $user-cm 

好,我發現只是改變的用戶釐米變量名的東西(mycm),並把xargs的 「$ mycm」

echo "Enter your command" 
read mycm 
echo "Enter the type of files (ex. php, c,)" 
read filetp 
find -name "*."$filetp"" -type f | xargs "$mycm" 
+0

Mhhh!?你不是已經提供了嗎? – 2014-12-07 15:33:07

+0

是的,但不運行 – dimit 2014-12-07 15:34:44

+0

那麼,爲什麼你不解釋,在你原來的POST和發佈錯誤?更加詳細一些 ! – 2014-12-07 15:35:08

回答

1

只是一些小的修正:

echo "Enter your command" 
read user_cm 
echo "Enter the type of files (ex. php, c,)" 
read filetp 
find . -name "*.$filetp" -type f | xargs $user_cm 

您在查找名稱中有一個空格,並且在變量名稱中不允許使用-

當事情「不起作用」時,仔細檢查錯誤消息,它們總體上是重要的。

+0

我得到了與第2行相同的錯誤:閱讀:'user-cm':不是有效的標識符 – dimit 2014-12-07 15:39:18

+0

檢查最後的版本 – 2014-12-07 15:39:45

+0

我發現第一個問題,我將變量名更改爲mycm,但是又得到另一個問題 xargs:invalid選項 - 'c' 用法:xargs [-0prtx] [--interactive] [--null] [-d | --delimiter = delim] [-E eof-str] [-e [eof-str] ] [--eof [= eof-str]] – dimit 2014-12-07 15:44:38