The good new is yes, there are gift shops aboard river cruise ships. Of course, some cruise lines sell more goods than others. Depending on the cruise line, you might find an assortment of logo items from t-shirts and caps to key chains and kitchen towels. Gift shops are also stocked with trinkets and crafts from places along the itinerary.
You’re sure to find matryoshka dolls (those painted wooden containers with tiny and tinier “dolls” stacked inside) on Russian river cruises, hand-made lace doilies on the lower Danube and tiny bottles of local port wine on the Douro.
At Christmas time, all of the cruise lines sailing the Rhine for Christmas Markets have a huge onboard selection of ornaments and gift items. Some even sell collapsible rolling suitcases for those that overindulge in souvenir shopping.
If you need basic toiletry items like toothpaste, toothbrush, razor etc., ask someone at the front desk. But your best bet is to simply go to a pharmacy ashore where there will be a good selection of what you need. You can always spot a pharmacy/drug store in Europe by the big, electric green “+” sign (plus-sign).