Ana içeriğe geç

kule shell

Görevin kopyasında, sandbox dışında kabuğunuzu açar. Orada değiştirdikleriniz, ajanın işi gibi incelenir ve commit edilir.

Kullanım​

kule shell [OPTIONS] <TASK>

Açıklama​

kule shell, oturum kabuğunuzu ($SHELL ya da /bin/sh) çalışma dizini görevin kopyası olacak şekilde başlatır. Ajanın işine bakmak, ajanın derlediği uygulamayı çalıştırmak ya da commit etmeden önce bir şeyi elle düzeltmek için kullanın.

Bu kabuk sizindir: sandbox dışında, dosyalara, ağa ve kimlik bilgilerine kendi erişiminizle çalışır. Bir kolaylıktır; güvenmediğiniz bir şeyi çalıştırmanın yeri değildir. Bunun için kule exec kullanın.

Kopyada değiştirdikleriniz, ajanınkiler gibi görevin değişikliklerinin parçasıdır: kule status onları listeler, kule commit uygular.

Kabuğun içinde KULE_TASK görevin kimliğini tutar. exit yaptığınızda Kule kopyadaki değişiklikleri yazdırır ve kule shell kabuğun çıkış koduyla çıkar.

Görev kopyanın git config'ini ya da hook'larını değiştirmişse Kule kabuğu açmayı reddeder. Prompt'unuzdaki git status ya da yazdığınız herhangi bir git komutu onları sandbox dışında çalıştırırdı. Önce bu değişiklikleri kule status ile inceleyin, sonra commit edin ya da atın.

Argümanlar​

AdZorunluAnlamı
TASKevetGörevin tam kimliği. Bkz. Bir göreve atıf yapmak.

Seçenekler​

SeçenekDeğerVarsayılanAnlamı
--homeyol~/.kuleKule'nin ev klasörü (KULE_HOME ile de verilebilir). Bkz. genel seçenekler.

Örnekler​

Kopyada etrafa bakmak:

$ kule shell 3422f830
kule: in task 3422f830's copy, outside the sandbox; exit to come back
$ ls
Cargo.toml README.md src
$ exit
no changes

Bir şeyi elle düzeltip commit etmek:

$ kule shell 3422f830
kule: in task 3422f830's copy, outside the sandbox; exit to come back
$ sed -i '' 's/hi /hello /' src/main.rs
$ exit
1 file changes: +0 ~1 -0
~ src/main.rs
~ function greet
$ kule commit 3422f830
committed 1 changes · checkpoint 2

Başka bir kabuk kullanmak:

SHELL=/bin/bash kule shell 3422f830

Bir git config değişikliğinden sonra reddedilmesi:

$ kule shell 3422f830
kule: the copy's git config changed, and git there would run it outside the sandbox; review it, then commit or roll it back before opening a terminal

Çıktı​

SatırAnlamı
kule: in task <id>'s copy, outside the sandbox; exit to come backKabuk başlamadan önce stderr'e yazılır.
exit'ten sonraki değişiklik listesiGörevin şimdiye kadarki değişiklikleri, kule status'un gösterdiği gibi.

Hatalar ve çözümleri​

MesajNe yapmalı
kule: the copy's git config changed, … / … hooks …kule status TASK çalıştırın, sonra kule commit (değişikliğe güveniyorsanız; yeni bir hook her zaman reddedilir) ya da kule rollback.
kule: could not start <shell>$SHELL var olmayan bir programı gösteriyor.

Uygulamada​

Görevin ⋮ menüsündeki Open terminal (Mod+T) ya da Terminal paneli (Ctrl+`). Bkz. Terminaller ve sunucular.

Ayrıca bakın​

  • kule path: cd ya da editörünüz için yalnızca yol.
  • kule exec: sandbox içinde bir komut.