Вы пробовали запустить /bin/rm
? А вы читали предупреждение в начале статьи?
Disclaimer : This is just a hack, not recommended for Actual Production Use
Я бы также прочитал комментарии к этому ответу на дубликат в Stack Overflow.
Если вы хотите на самом деле ограничить пользователя безопасно , вам, вероятно, придется изучить структуру разрешений, такую как SELinux или AppArmor.
Использование любого awk в любой оболочке на каждом устройстве Unix и предположение, что строка ...
во входных данных и строка ..
в выходных данных буквально не существуют в ваших реальных данных и предназначены для представления текста, похожего на текст. вокруг них:
$ cat tst.awk
(val=="") && /.*\047$/ {
tag = $0
sub(/=.*/,"",tag)
val = ""
}
tag != "" {
split($0,f,/[\047:]/)
val = (val == "" ? "" : val " ") f[2]
if ( /\)$/ ) {
print tag "=\"" val "\""
tag = ""
}
next
}
{ print }
$ awk -f tst.awk file.txt
foo1=bar1
foo2="bar10 bar11 bar"
foo3=('bar3')
foo=1.2.33