Przez chwilę zbyt długo drapałem się po głowie, więc może ktoś tutaj będzie w stanie zobaczyć, co się dzieje. Próbuję zbudować polecenie do skanowania z mojego skanera do pliku ze znacznikami czasu w moich dokumentach.
scanimage -d "pixma:04A91746_57E9C3" --resolution 300 --format tiff > $(date +%Y.%m.%d-%H:%M:%S).tiff
Powoduje to błąd zsh: invalid argument: 2017.05.27-14:29:13.tiff
Co dziwne, usuwając sekundy w łańcuchu formatu daty, błąd nie występuje, ale plik nie jest odpowiednio nazwany:
scanimage -d "pixma:04A91746_57E9C3" --resolution 300 --format tiff > $(date +%Y.%m.%d-%H:%M).tiff
Skończyło się na pliku o nazwie 2017.05.27-14
, brak minut i rozszerzenie .tiff.
Aby jeszcze bardziej skomplikować sprawy, wszystko to działa doskonale, gdy nie jest w udziale samby, ale te same polecenia w udziale samby powodują błąd. Testowanie za pomocą echa zamiast scanimage nie ujawnia niczego interesującego, ponieważ używanie echa powoduje, że zachowuje się zgodnie z oczekiwaniami.
… > "$(date +%Y.%m.%d-%H:%M:%S).tiff"
echo foo > $(date +%Y.%m.%d-%H:%M:%S).tiff
Odpowiedzi:
Problemem okazały się dwukropki - ponieważ mój udział w sambie nie zezwala na nazwy plików z dwukropkami, dałby ten błąd. Usunięcie dwukropków z mojej nazwy pliku powoduje, że działa ona idealnie:
Jeśli ktoś jest ciekawy ukończonego skryptu do skanowania i porządkowania dokumentów, tutaj:
Po prostu cd do dowolnego folderu (paragony, medyczne, itp.) I uruchamiam scanfile. Wynik to pdf wszystkich stron zeskanowanych w bieżącym katalogu.
źródło