Используйте tee (1)
для записи в два файла и отбросьте стандартный вывод:
ls | tee pk.txt praveen >/dev/null
Edit2: Как указано Стефаном и Томасом, из-за того, как работает tee
, это лучшая версия и приводит к меньшему количеству операций записи:
ls | tee pk.txt > praveen
Как вы пытаетесь исключить исполняемые права доступа к каталогам? Попробуйте использовать отдельные значения для маски файла fmask=0111 (fmask применяется только к файлам,не каталоги )и маска каталога dmask=0777 (применяется к каталогам)
Вы смонтировали /media/storage
как noexec
. noexec
не позволяет выполнять какие-либо двоичные файлы в смонтированной файловой системе (см.man 8 mount
).
Вы должны указать exec
в качестве параметра монтирования в вашем fstab
. Обратите внимание, что в вашей записи fstab
также отсутствует параметр defaults
(, см. такжеman 5 fstab
). Вы, вероятно, хотите что-то похожее на
UUID=F6C09DB5C09D7C95 /media/storage/ ntfs-3g defaults,uid=1000,gid=1000,umask=0022 0 0
Проверьте man 5 fstab
или man 8 mount
, чтобы узнать значение defaults
. По крайней мере, в моей системе это то же самое, что и
rw,suid,dev,exec,auto,nouser,async
но это зависит от файловой системы.
Если вы хотите проверить это, не меняя fstab
,попробуй
mount -o remount,exec /media/storage/
сначала перемонтируйте /media/storage/
с правами исполняемого файла и снова проверьте свой скрипт.
Я предположил, что при перезагрузке раздел данных смонтируется в соответствии с отредактированными настройками /etc/fstab. Однако, похоже, это не так.
После запуска:
sudo mount -a
проблема была решена.Теперь я могу выполнять сценарии в моем разделе данных из оболочки.
Результат stat /media/storage теперь:
File: /media/storage
Size: 4096 Blocks: 8 IO Block: 4096 directory
Device: 804h/2052d Inode: 5 Links: 1
Access: (0755/drwxr-xr-x) Uid: ( 1000/ floris) Gid: ( 1000/ floris)
Я попытаюсь выяснить, какая конфигурация /etc/fstab мне подходит, но моя проблема с выполнением решена.