2016-04-14 14 views
1

Bu bash betiğini Iterm2 resmi sitesinden alıyorum.İterm2 ayarlamak için komut dosyası nasıl çalıştırılır?

printf "\e]1337;SetBadgeFormat=%s\a" $(echo "text" | base64)

Ben hiçbir hata yoktur, bağırma gibi exec çalıştı, ancak iterm2 Badge ayarlamak için başarısız

var exec = require('child_process').exec; 
exec('printf "\e]1337;SetBadgeFormat=%s\a" $(echo "text" | base64)'); 
+0

Gerçekten açık ne olduğunu Ne yapmaya devam edecekseniz, ancak neler olup bittiği hakkında daha fazla bilgi sahibi değilseniz, bir geri arama ekleyin exec ('printf' \ e] 1337; SetBadgeFormat =% s \ a "$ (echo) "metin" | base64) ', işlev (hata, stdout, stderr) { // Ardından bu konsolları }); – aray12

+0

@ aray12 Bu şeylerin günlüğü sadece "null", "e" 1337, SetBadgeFormat = ODA4MQo = a'', ''' 'dır. Komut dosyasını harici bir dosyaya yerleştirirken ör. 'setBadgeFormet.sh' ve node betiğini exec ('./ setBadgeFormet.sh') 'için çalışır. –

+0

Bir çözüm bulduğuna sevindim. Dürüst olmak gerekirse neden bu şeyleri değiştireceğinden emin değilim – aray12

cevap

1

setBadgeFormat.js =>

#!/usr/bin/env node 

var rawBadgeFormat = 'test' 
var base64BadgeFormat = new Buffer(rawBadgeFormat).toString('base64') 
var setBadgeFormatCmd = 'printf "\\e]1337;SetBadgeFormat=' + base64BadgeFormat + '\\a"' 
require('child_process').exec(setBadgeFormatCmd, function(error, stdout, stderr) { 
    if (error) console.log(error); 
    process.stdout.write(stdout); // this line actually do the trick 
    process.stderr.write(stderr); 
}); 
İlgili konular