Я объединил все вышеприведенные ответы и создал функцию оболочки, которая бы соответствовала моим потребностям.Это с терминала cygwin моих 2-х компьютеров с Windows10, где у меня была общая папка между ними.Мне нужно уметь справиться со следующим:
cat file.cpp | tx
tx < file.cpp
tx file.cpp
Гдеопределенное имя файла указано, мне нужно использовать то же имя файла во время копирования.Где поток входных данных был передан через, тогда мне нужно сгенерировать временное имя файла с часами минуты и секунды.Общая папка имеет подпапки дней недели.Это для организационных целей.
Вот, окончательный сценарий для моих нужд:
tx ()
{
if [ $# -eq 0 ]; then
local TMP=/tmp/tx.$(date +'%H%M%S')
while IFS= read -r line; do
echo "$line"
done < /dev/stdin > $TMP
cp $TMP //$OTHER/stargate/$(date +'%a')/
rm -f $TMP
else
[ -r $1 ] && cp $1 //$OTHER/stargate/$(date +'%a')/ || echo "cannot read file"
fi
}
Если есть какой-либо способ, который вы можете использовать для дальнейшей оптимизации, я хотел бы знать.