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

  • engineerguy

    engineerguy

    10 Ocak 2010
  • metallmanutza13

    metallmanutz

    13 NİSAN 2007
  • Tinkernut

    Tinkernut

    28 Aralık 2006