2013-03-06 20 views
0

我是Unix shell腳本的新手,無法理解爲什麼這不起作用,因爲單個命令在命令行上執行操作。道歉,如果它明顯。Unix Shell文件不能按預期工作

我想用一些Unix命令建立一個腳本,並在Putty中使用sh script.sh來調用它。這裏是一個例子:

echo Carrying out compression 
gzip -c file_1.csv > file_1.csv.gz 
gzip -c file_2.csv > file_2.csv.gz 
gzip -c file_3.csv > file_3.csv.gz 

而不是產生指定的命名輸出,我得到非常奇怪的命名文件,例如。 FTY4WG〜7。這是除了最後一個正確命名。

如果我把每一行後一個空間,它的工作原理,但我得到一個錯誤信息: :

其實我想要做的東西一大堆(拼接在一起的CSV因爲沒有這樣的文件或目錄以及壓縮它們),但是如果我可以破解這個簡單的命令,我可能會全力以赴。

感謝您的幫助!

+4

檢查您的腳本是否不使用DOS行尾。 – chepner 2013-03-06 17:54:03

回答

1

確保你在腳本的頂部這一行

#!/bin/bash 

現在執行這個命令

dos2unix <yourfilename> 

現在做這個

chmod u+x <urfilename> 

五月這將是d O操作。