Valor global não sendo alterado e também script não sendo carregado

0

Basicamente eu tenho que fazer duas perguntas através desta explicação.

Estou usando o Red Hat Linux 6.0 ... usando a placa davinchi. Eu tenho que mudar a resolução do relógio do sistema, então estou mudando HZ env var. Para isso eu escrevi script para que eu possa alterar HZ = 1000 e inserir esse script em /etc/profile.d e escrever o código para loop em /etc/profile (como não estava lá) para que, enquanto estiver em execução, /etc/profile possa carregar o scripts presentes em /etc/profile.d . Mas quando estou logando no sistema no nível da raiz, este erro é mostrado -bash: ./etc/profile.d/resolution.sh(my script name): No such file or directory

  • Pergunta 1: Por que ele está mostrando ./etc e não /etc . Tem algo relacionado a isso?

  • Pergunta 2: Tentei adicionar o script em /etc/init.d , mas ainda assim, nenhuma alteração no valor de HZ ocorre globalmente, mas está sendo refletida em média doméstica ~/.bash_profile.swo mas quando eu estou fazendo exportação não se refletindo porque assim como as alterações feitas em /etc/profile devem ser refletidas em todo o sistema ou eu entendi algo errado?

O script ( resolution.sh ) escrito tem:

#!/bin/bash
export HZ=1000
---------------------------------------------
The content of /etc/profile which I entered is:

if [ -d /etc/profile.d ]; then
    for i in /etc/profile.d/*.sh; do
        if [ -r $i ]; then
            .$i
        fi
    done
    unset i
fi

E a saída do comando grep é

-rw-r--r-- 1 root root  535 Feb 4 2004 profile
-rwxr-xr-x 2 root root 4096 Feb 2 2004 profile.d
    
por priya 18.11.2013 / 08:10

2 respostas

0

O diretório /etc/profile.d deve ter as permissões 0755 não 0644 como no seu caso: agora apenas o usuário root pode ler o conteúdo e, portanto, os arquivos nesse diretório, independentemente das permissões do arquivo. Assim, seu script não é originado corretamente para nenhum outro usuário, exceto o root.

    
por 18.11.2013 / 08:35
0

$i é igual a /etc/profile.d/resolution.sh , por isso .$i ( ./etc/profile.d/resolution.sh ) não foi encontrado.

Tente remover o ponto ou executar sh $i em vez de .$i .

    
por 18.11.2013 / 11:14

Tags