0
我是shell腳本編程的新手,我試圖執行一個讀取文本並執行POS標記的軟件。它要求輸入和輸出,可以在執行例子可以看出:循環中basename的問題
$ cat input.txt | /path/to/tagger/run-Tagger.sh > output.txt
我試圖做的是不僅對文本執行這條線,但在一個特定的一組文本文件夾,並返回與輸入文件具有相同名稱的輸出文件。所以,我試圖做這個腳本:
#!/bin/bash
path="/home/rafaeldaddio/Documents/"
program="/home/rafaeldaddio/Documents/LX-Tagger/POSTagger/Tagger/run-Tagger.sh"
for arqin in '/home/rafaeldaddio/Documents/teste/*'
do
out=$(basename $arqin)
output=$path$out
cat $arqin | $program > $output
done
我只有一個文件,試了一下,它的作品,但是當我嘗試不止一個,我得到這個錯誤:
basename: extra operand ‘/home/rafaeldaddio/Documents/teste/3’
Try 'basename --help' for more information.
./scriptLXTagger.sh: 12: ./scriptLXTagger.sh: cannot create /home/rafaeldaddio/Documents/: Is a directory
任何見解我做錯了什麼?謝謝。
什麼'$ arqin'的調用'basename'前的價值?你應該引用你的變量,例如:'$(basename「$ arqin」)' – Biffen