tutorial - ejemplos de programas en ruby
comando de árbol en osx bash (2)
Estoy siguiendo una pantalla en una gema de rubí llamada pry . A las 8:10, se usa el comando .tree, que creo que es un comando de Unix.
No parece estar funcionando en mi sistema:
[24] pry(main)> .tree
/Error: there was a problem executing system command: tree
y he rastreado el problema hasta here , en el que apy hace referencia a un comando de shell:
Pry::CommandSet.new do
command(//.(.*)/, "All text following a ''.'' is forwarded to the shell.", :listing => ".<shell command>") do |cmd|
if cmd =~ /^cd/s+(.+)/i
dest = $1
begin
Dir.chdir File.expand_path(dest)
rescue Errno::ENOENT
output.puts "No such directory: #{dest}"
end
else
if !system(cmd)
output.puts "Error: there was a problem executing system command: #{cmd}"
end
end
end
Desde el contexto de bash intenté usar el árbol de comandos sin suerte:
projects/sms(apps2)$ tree
-bash: tree: command not found
~/projects/sms(apps2)$ .tree
-bash: .tree: command not found
Esto parece increíblemente útil, ¿cómo puedo obtener este comando?
Para un enfoque simple, también puede agregar el siguiente alias a su archivo ~/.bashrc
o ~/.zshrc
:
alias tree="find . -print | sed -e ''s;[^/]*/;|____;g;s;____|; |;g''"
Esto resulta en lo siguiente:
$ tree
.
|____.git
| |____config
| |____objects
| | |____pack
| | |____info
| |____HEAD
| |____info
| | |____exclude
| |____description
| |____hooks
| | |____commit-msg.sample
| | |____pre-rebase.sample
| | |____pre-commit.sample
| | |____applypatch-msg.sample
| | |____pre-receive.sample
| | |____prepare-commit-msg.sample
| | |____post-update.sample
| | |____pre-applypatch.sample
| | |____pre-push.sample
| | |____update.sample
| |____refs
| | |____heads
| | |____tags
Encontré esta solución aquí:
Usando homebrew :
brew install tree
Utilizando macports :
sudo port install tree
Usando la fuente :
Siga estas instrucciones. (Advertencia: debes usar las banderas / etc. que tengan sentido).
<rant> Todos los sistemas deben venir con el tree
; Lo uso mucho. Y podemos publicar estructuras de directorios como texto, no fotos. </rant>