SORU
3 EKİM 2008, Cuma


Nasıl kabuk komut dosyası için Yakut kullanırım?

Bazı basit kabuk yapmak istediğim görevler için komut dosyası var

Örneğin: bazı dosyalar düzenli ifade ile eşleşen bir listeden çalışma dizini Seçerek bir dosya.

Biliyorum bunu yapabilirim bu tarz şeyleri kullanarak standart bash ve grep ama güzel olurdu yapabilmek için hack hızlı komut çalışacak, windows ve linux olmadan bana sahip olmak için ezberlemek bir yığın komut satırı programları ve bayraklar vb.

Bu yola çıkmaya çalıştım ama geçerli dizin için bir referans gibi bilgileri almak gerekir nerede bocalama sona erdi

Soru: hangi parçalar Ruby kütüphaneleri ruby kabuk betikleri yazmak için bilmek gerekir mi?

CEVAP
3 EKİM 2008, Cuma


Varsayılan olarak, zaten Dir ve kendileri tarafından oldukça yararlı olan File erişebilir.

Dir['*.rb'] #basic globs
Dir['**/*.rb'] #** == any depth of directory, including current dir.
#=> array of relative names

File.expand_path('~/file.txt') #=> "/User/mat/file.txt"
File.dirname('dir/file.txt') #=> 'dir'
File.basename('dir/file.txt') #=> 'file.txt'
File.join('a', 'bunch', 'of', 'strings') #=> 'a/bunch/of/strings'

__FILE__ #=> the name of the current file

Ayrıca stdlib dan yararlıdır FileUtils

require 'fileutils' #I know, no underscore is not ruby-like
include FileUtils
# Gives you access (without prepending by 'FileUtils.') to
cd(dir, options)
cd(dir, options) {|dir| .... }
pwd()
mkdir(dir, options)
mkdir(list, options)
mkdir_p(dir, options)
mkdir_p(list, options)
rmdir(dir, options)
rmdir(list, options)
ln(old, new, options)
ln(list, destdir, options)
ln_s(old, new, options)
ln_s(list, destdir, options)
ln_sf(src, dest, options)
cp(src, dest, options)
cp(list, dir, options)
cp_r(src, dest, options)
cp_r(list, dir, options)
mv(src, dest, options)
mv(list, dir, options)
rm(list, options)
rm_r(list, options)
rm_rf(list, options)
install(src, dest, mode = <src's>, options)
chmod(mode, list, options)
chmod_R(mode, list, options)
chown(user, group, list, options)
chown_R(user, group, list, options)
touch(list, options)

Çok güzel

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • celebrateubuntu

    celebrateubu

    23 Mayıs 2011
  • Joshua Kywn

    Joshua Kywn

    17 Mayıs 2010
  • LiteralMSPaint

    LiteralMSPai

    27 EKİM 2010