对应这个代码
[checker.rb]
require 'dir'
require 'fileutils'
module Checker
# Checks if the targetdirectory are present. If not, it creates one
def self.check_dir
# Checking if dir exists
if Dir.exist?("#{@todo}")
puts 'Found directory. Im using it.'
else
puts 'No directory found. Im creating it.'
# Creates the new directory
FileUtils.mkdir_p("#{@todo}")
if Dir.exist?("#{@todo}")
puts 'Created new directory...'
else
raise('Cant create directory')
end
end
end
end
[main]
home = Dir.home
publican_doc_dir = "#{home}/Dokumente/Textdokumente/publican-dokumentation2"
articles_dir = "#{publican_doc_dir}/articles"
titel = `yad --entry --button="Bestätigen" --title="Neuen Artikel erstellen" --text="Gebe ein Titel ein (Mit Unterstrichen statt Leerzeichen und ohne Umlaute):"`
[...]
puts "Erstellt Verzeichnis #{articles_dir}/#{titel}"
@todo = "#{articles_dir}/#{titel}"
Checker.check_dir
puts 'Wechsle in article Verzeichnis'
FileUtils.cd("#{articles_dir}/#{titel}") do
[...stuff...]
end
以及完整代码there我得到了错误的结果。它应该是articles / test01而不是articles / test01?/ test01。
sascha@sascha-desktop:~/Dokumente/Textdokumente/publican-dokumentation2/articles$ ls
Test01? Test02? Test03?
sascha@sascha-desktop:~/Dokumente/Textdokumente/publican-dokumentation2/articles$ cd Test03?
sascha@sascha-desktop:~/Dokumente/Textdokumente/publican-dokumentation2/articles/Test03$ ls
Test03
sascha@sascha-desktop:~/Dokumente/Textdokumente/publican-dokumentation2/articles/Test03/Test03$ ls
de-DE publican.cfg
那里的内容应该进一步放置一层。也许有人知道如何解决这个问题?