Это - соглашение, используемое для именования типов данных, например, с typedef
:
typedef struct {
char* model;
int year;
...
} car_t;
На основе ответа @bhups с тестами:
def remote_file_exists?(full_path)
'true' == capture("if [ -e #{full_path} ]; then echo 'true'; fi").strip
end
namespace :remote do
namespace :file do
desc "test existence of missing file"
task :missing do
if remote_file_exists?('/dev/mull')
raise "It's there!?"
end
end
desc "test existence of present file"
task :exists do
unless remote_file_exists?('/dev/null')
raise "It's missing!?"
end
end
end
end
Может быть, вам нужно следующее:
isFileExist = 'if [ -d #{dir_path} ]; then echo "yes"; else echo "no"; fi'.strip
puts "File exist" if isFileExist == "yes"
Я сделал это перед использованием команды run в capistrano (которая выполняет команду оболочки на удаленном сервере)
Например, вот одна задача capistrano, которая проверяет наличие файла database.yml существует в каталоге shared / configs и свяжите его, если он существует.
desc "link shared database.yml"
task :link_shared_database_config do
run "test -f #{shared_path}/configs/database.yml && ln -sf
#{shared_path}/configs/database.yml #{current_path}/config/database.yml ||
echo 'no database.yml in shared/configs'"
end