Windows – Multiple ruby version

Needed to have mutliple version of ruby on my dev machine and I found Uru

Here is just a quick post-it of the main commands (suppose Uru is arleady installed)

Add a new ruby version

uru admin add C:\path\to\ruby\bin

List existing versions

uru ls

Switch to another version

uru 230p0

to switch to the version 2.3.0 of ruby

Advertisements

Expect script – Read / write file

Thanks to this source : http://wiki.tcl.tk/367

To read data from a file in an Expect script:

#!/usr/bin/expect -f

set fd "input.txt"
set fp [open "$fd" r]
set data [read $fp]

# Read line by line

foreach line $data {

puts "$line\r"

}

And to write data to a file:

#!/usr/bin/expect -f

set outputFilename "output.txt"
set outFileId [open $outputFilename "w"]

puts -nonewline $outFileId "A first line\n"
puts -nonewline $outFileId "A second line\n"

#Close file descriptor to ensure data are flush to file
close $outFileId

Linux – Mount a shared folder with virtualbox

To mount a shared folder (previously configured in the VM’s parameters), launch the following command:

sudo mount -t vboxsf -o uid=$UID,gid=$(id -g) NameOfSharedFolderInVMConfig PathToMount

as sudo user

For example, I have configured this shared folder : Capture

So in my VM, I launch this command to mount the shared folder under the “Labs” folder of the home folder

 

sudo mount -t vboxsf -o uid=$UID,gid=$(id -g) Labs ~/Labs/

Git – my aliases

git config --global alias.poule 'pull'
git config --global alias.s 'status'
git config --global alias.hist 'log --pretty=format:"%h %ad | %s%d [%an]" --graph --date=short'
git config --global alias.a 'add .'
git config --global alias.pu 'pull'
git config --global alias.ac "!git add . && git commit"
git config --global alias.pp "!git pull && git push"
git config --global alias.po 'push'

My favorite is obviously “ac” because I can do
git ac -m "my commit message"
and this simple line add and commit all the modified files 🙂

And I also use a lot git pp to pull and push in one line!

Linux – Set ACL

Use

$ setfacl -m u:seza:rwx,g:admin:rw-,o:r-- MyFolder

To change to permissions for the folder MyFolder and add

  • User “seza” has all permission: Read, Write, eXecute
  • Group “admin” has all permissions
  • Other has just Read persmission

Use

$ setfacl -m default:u:seza:rwx,default:g:admin:rw-,o:r-- MyFolder

To change the permissions for the future files/folders that will be added