autorelabel мог помочь. Необходимо будет сделать следующее:
Как пользователь:
$ restorecon -R -v -F ~
И как корень:
# touch /.autorelabel
затем перезагрузка
Ваш код взломан несколькими способами...
Вы определяете переменную с именем variable
, затем назовите его с именем var
. Это не будет работать.
Я не могу разобрать то, что Вы пытались выполнить с переменной во-первых, потому что заключение в кавычки так странно. Интерпретатор будет иметь больше проблем, чем я ;-) В действительности Вы отправляете строку, которая похожа на ряд команд включая конвейер - но так как они в заключенной в кавычки строке как аргумент другой команде, они просто столкнутся такого количества символов в текстовом блобе как аргумент. Не что-то интерпретатор затронет.
Возможно, Вы хотите что-то вроде этого в Вашем test.ksh
файл:
#!/bin/ksh
log_file="/logs/filename.long"
tail -f $log_file | awk '!(/list)'
Или даже это, как которое Вы работали бы с командой ./test.ksh /logs/filename.log
:
#!/bin/ksh
tail -f $1 | awk '!(/list)'
Вы записали 2 разных вещи.
В оболочке Вы заявили, что вывод хвоста-f перенаправляется к awk
В Вашем сценарии Вы заявили, что хвост-f должен считать данные из файлов под названием "/logs/filename.log", "| ", "awk" и"! (/список)"
Вы хотите записать это в своем файле сценария:
#!/bin/ksh
variable="/logs/filename.log"
tail -f $variable | awk '!(/list)'