В системах, отличных от -Linux, и в системах без GNU find
, следующее, скорее всего, даст тот же результат, что и find. -type f ! -writable
, однако вторичные группы не учитываются.
myname=$( id -un )
mygroup=$( id -gn )
find. -type f '(' \
'(' -user "$myname" ! -perm -u=w ')' -o \
'(' ! -user "$myname" -group "$mygroup" ! -perm -g=w ')' -o \
'(' ! -user "$myname" ! -group "$mygroup" ! -perm -o=w ')' ')'
Четыре испытания по порядку:
Преимущество этого в том, что вы можете заменить имя другого пользователя и группу, что, я думаю, GNU find
-writable
не позволяет вам делать.
Та же команда, но с логикой, записанной в форме И:
find. -type f \
! '(' -user "$myname" -perm -u=w ')' \
! '(' ! -user "$myname" -group "$mygroup" -perm -g=w ')' \
! '(' ! -user "$myname" ! -group "$mygroup" -perm -o=w ')'
Вот как я это решил:
cd ~/.wine/dosdevices/
ln -s /dev/ttyUSB0 com5
Это все, что требуется. В моем приложении для Windows появилась возможность использовать COM 5, и это сразу заработало.
В своем исследовании я прочитал, что некоторым людям необходимо добавить раздел реестра Wine. Мне не нужно было этого делать.
Это стандартный вариант, который работает с большинством приложений.:
[Hardware\\Devicemap\\Serialcomm] 1231984861
"Serial0"="COM1"
Вот ресурсы, которые я использовал для решения:
Настройте последовательный порт в Wine · Один транзисторhttps://www.onetransistor.eu/2015/12/wine-serial-port-linux.html
вино -Символическая связь между USB и COM-портом -Спросите Ubuntuhttps://askubuntu.com/questions/685985/symbolic-link-between-usb-and-com-port
Преобразование /dev/ttyUSB в com-порт для использования с Wine в Linux -Привилегированный пользовательhttps://superuser.com/questions/619528/converting-the-dev-ttyusb-to-com-port-to-use-it-with-wine-in-linux