Como usar o diretório de mudança no zenity?

1

como usar o comando cd para alterar o diretório no zenity, meu script simples como este

#!/bin/bash    
a='zenity --entry --entry-text="input directory name"'
cd $a

mas, quando cd [o comando cd (ChangeDirectory) mudará de seu diretório atual para qualquer diretório que você especificar] mude para rmdir / mkdir, seu trabalho perfeito ..

por favor me ajude ..

    
por haritsmp 08.06.2013 / 06:51

1 resposta

1

O cd está funcionando, mas afeta apenas o processo do script, não o shell a partir do qual você executou o script. Diversas abordagens foram usadas para contornar isso no passado, mas a melhor agora é provavelmente usar uma função shell em vez de um script separado, já que uma função shell será executada dentro do shell original em vez de um processo separado.

Isso seria feito no seu ~/.profile :

cdprompt()
{
    cd $(zenity --entry --entry-text="input directory name")
}

Se você iniciar um novo shell e executar cdprompt , ele deverá mostrar o prompt do zenity e mudar para o diretório digitado como esperado.

Se você realmente deseja que os comandos vivam em um arquivo separado, outra opção é source do arquivo em vez de executá-lo:

source newdir.sh

ou

. newdir.sh

Isso diz a bash para executar os comandos no arquivo dentro do seu processo atual, em vez de iniciar um novo. É normalmente usado para carregar a configuração em vez de executar programas, mas também deve funcionar para isso.

    
por Paul 08.06.2013 / 07:13