我幾乎是全新的編碼,我很感激反饋。我正在嘗試製作一個shell腳本,用於評估文本文件中的信息,並在滿足特定條件時移動所述文本文件。我的代碼如下:awk,bin/sh 0:1:找不到
#!/bin/bash
stock=HD
awk ' /Rank/ {
if ($4 == "1-Strong") system("mv " "'$stock'.txt" " " ~/Desktop/Stocks/1/"'$stock'.txt") ;
else if ($4 == "2-Buy") system("mv " "'$stock'.txt" " " ~/Desktop/Stocks/2/"'$stock'.txt") ;
else if ($4 == "3-Hold") system("mv " "'$stock'.txt" " " ~/Desktop/Stocks/3/"'$stock'.txt") ;
else if ($4 == "4-Sell") system("mv " "'$stock'.txt" " " ~/Desktop/Stocks/4/"'$stock'.txt") ;
else if ($4 == "5-Strong") system("mv " "'$stock'.txt" " " ~/Desktop/Stocks/5/"'$stock'.txt")
} ' $stock.txt
當我嘗試運行該腳本,我得到這個錯誤:
[email protected]:~/Desktop/Stocks$ ./stockscript7.sh
/bin/sh: 1: 0: not found
我確信我是在bash shell中。我確實使用chmod來賦予腳本權限。否則,從這個錯誤信息,我迷失在接下來的嘗試。任何幫助將非常感激。
你試過使用'#!/ usr/bin/env bash'嗎?也許bash不在你認爲的地方。使用這種形式的she-bang線是便攜式的,適用於所有* nix系統。然而'#!/ bin/bash'不是。當你從終端使用bash時,你是否使用'sh'或'bash'?你使用哪一種是有區別的。 – rbaleksandar
如果你用很小的代碼編寫代碼,並且測試每個修改,而不是編寫完整的腳本,然後嘗試對其進行故障排除,則會發現編碼更容易。 –
Eww。以這種方式使用'system()'會給你帶來嚴重的安全漏洞。 –