Вам нужно будет создать переменную в bash перед передачей ее в awk с -флагом v и так:
cmd=$(mysql --host='abc' --user='def' --password='..' --database='ghf' -sNe \"select VALUE from table where KEY='171-125';\")
awk -v cmd=$cmd '{ some awk script }'
В качестве альтернативы, если вы хотите проанализировать вывод mysql, выполните:
awk '{ some awk script }' <<< $cmd
The umask value is subtracted from the full permission set for an object.
Это неправда. Или, по крайней мере, это неточно и упрощено до общего случая.
Во-первых, базовое значение не "полный набор разрешений", а то, что процесс, создающий файл, устанавливает в качестве разрешений файла. Конечно, для обычных файлов это обычно0666
:идея состоит в том, что (говорят )текстовый редактор не должен решать, какими должны быть права доступа к файлу, но пользователю должно быть позволено решать это через umask
.
Но процессу, создающему файл, не нужно использовать 0666
в качестве прав доступа к файлу. Для личных файлов (думаю, что будут использоваться ключи SSH ), 0600
, так что независимо от umask файл никогда не будет доступен никому, кроме владельца. Кроме того, для исполняемых файлов можно использовать 0777
, чтобы результирующий файл был исполняемым.
Для каталогов обычно используется 0777
, поскольку бит x
практически так же необходим, как и бит r
для общего использования. Для общих файлов данных это не так, поэтому общий случай — 0666
для файлов и 0777
для каталогов.
Конечно, используемые базовые разрешения могут быть чем-то другим, но это, скорее всего, обычные случаи.
Во-вторых, значение umask не вычитается , а маскируется. Вычитание подразумевает перенос от одного бита к следующему, а вычитание, например. 0007
из 0666
приведет к 0657
. Это не то, как работает umask, и это было бы бесполезно.
Обратите внимание, что umask используется только при создании файла , справочная страница Linux также называет его "маской создания файлового режима". После этого chmod()
можно использовать для изменения разрешений, не ограничиваясь umask.
So if a file can't be have read, write, execute permissions at once,
Конечно, могут. Это просто бесполезно для неисполняемых файлов.
Потому что по умолчанию файлы не исполняемые, а каталоги исполняемые.