ошибка команды sed :сохранение разрешений для «./seduEguCh» :Операция не разрешена

Вставлять каналы в псевдонимы неудобно. Вместо этого создайте функцию оболочки, в которую вы можете передать вещи:

G () {
    grep -i "$@"
}

A () {
    awk -v col="$1" '{ print $col }'
}

Затем,

ps -ef | G mysql | A 2

Но этот конкретный конвейер в системе Linux будет более или менее таким же, как

pgrep mysql
1
12.07.2020, 09:01
2 ответа

Вот что происходит при выполнении sed -i(strace):

openat(AT_FDCWD, "input", O_RDONLY)     = 4
[...]
openat(AT_FDCWD, "./sedMSD2Zj", O_RDWR|O_CREAT|O_EXCL, 0600) = 5
[...]
rename("./sedMSD2Zj", "input")          = 0

Разрешения Windows NTFS намного сложнее, чем разрешения Linux. Я не знаком с ними, но кажется, что этому пользователю разрешено создавать файлы, но не переименовывать их.

1
18.03.2021, 23:20

Вы запускаете этот сценарий для файлов Windows из подсистемы? Если это так, то простым решением, вероятно, будет перемещение файлов в подсистему Ubuntu, а затем перемещение их обратно, когда вы закончите. Я думаю, что это будет соответствовать ответу Хауке, поскольку ваш пользователь WSL, вероятно, не имеет разрешения на выход из подсистемы и изменение файлов Windows.

0
18.03.2021, 23:20

Теги

Похожие вопросы