У меня есть сценарий удара, содержащий этот код:
path=/apps/files/
ext=*.csv
rm -f $path$ext
Это не работает. Когда я установил,-o для повторения каждой команды я вижу это в выводе...
rm -f '*.csv'
Таким образом, это не получает путь, но я использую ту переменную пути всюду по сценарию, и это работает. Единственная разница была бы то, что я использую его с определенными именами файлов и с командами кроме комнаты. Так что-то как...
file=abc.csv
echo "some text" >> $path$file
... будет работать отлично.
Любая справка ценилась бы.
Не цитируя назначение
ext=*.csv
Вы установите ext
на «*.csv'" only if there are NO
.csv files in the current directory. If the current directory has
*. Csv files
ext`, чтобы получить их список.
Например, у меня есть 18 .csv
файлов в моем домашнем каталоге, и ни одного в ~/bin
.
walt@bat:~(0)$ cd ~/bin
walt@bat:~/bin(0)$ ext=*.csv
walt@bat:~/bin(0)$ echo $ext
*.csv
walt@bat:~/bin(0)$ cd
walt@bat:~(0)$ ext=*.csv
walt@bat:~(0)$ echo $ext
abook15.csv abook62.csv abook8.csv abook.csv accountactivity.csv Address book headers.csv addresses.csv allphones.csv assets.csv bbook.csv Jchq-2013-08-01-2014-07-31.csv Jchq.sort.csv PCF2016Aug04.csv portfolios.csv rickdisk.csv test.csv testmoo1.csv testmoo2.csv
Очевидно, «$path/$ext
» будет выглядеть смешно.
ext='*.csv'