Por exemplo, posso definir:
gb = cd /media/Dan/evolution
... para que toda vez que executo gb
no bash, eu possa cd
nesse diretório específico?
Encontrei algo online: o alias
comando. Mas parece que não pode fazer o trabalho acima.
É possível fazê-lo? Quão?
alias gb='cd /media/Dan/evolution'
posix
reclamação, não apenasbash
.Respostas:
basta digitar:
Para tornar essa configuração permanente (para que ela permaneça após você reiniciar ou abrir outro console), adicione esta linha ao arquivo ~ / .bashrc (assumindo que você use o bash como shell padrão)
fonte
Alternativa ao alias
Isso define a função shell gb, que não aceita argumentos, e executa cd / media / Dan / evolution. Como em outras sugestões, isso pode ser adicionado ao ~ / .bashrc
fonte
type gb
funcionará se for um alias ou uma função.{ echo 'true() { : ; }' >./script ; . ./script ; command -V true ; command -V /usr/bin/true ; }
-true is a shell function\n/usr/bin/true is /usr/bin/true
- os\n
caracteres eram literalmente novas linhas na saída.É possível e
alias
é o comando que você está procurando. Por exemplo,alias ll="ls -l"
no bash permite digitar emll
vez dels -l
. Observe que não há espaços usados ao definir um alias.man alias
pode ser útil também.fonte
Como alternativa, é possível escrever um programa C que chama o comando desejado e salvá-lo em / usr / bin.
Para compilá-lo, vá para o diretório em que a fonte foi salva (no bash) e execute (você pode precisar do sudo):
Após mais pesquisas aqui , percebi que simplesmente inserir seu comando
system()
não funcionará para comandos bash incorporados. É por isso que você precisa criar uma instância de um bash interativo e repetir seus comandos. É muito complicado e provavelmente inútil, a menos que você queira, digamos, encurtar uma chamada para um script de shell (emsome_script
vez desh ~/radgeRayden/Scripts/some_script
).Referência para a função system ()
fonte
sh -c "cd /media/Dan/evolution"
não funciona. Dica: subshellcd
/ subshell questões à parte, qual é a vantagem de agrupar um comando shell no programa c, quando você poderia facilmente (ou mais facilmente) colocar esse comando em um script shell?