İstediğiniz smoothkomut miktarı kadar virgül yazmayı göze alabiliyorsanız , kabuğun virgülle ayrılmış Brace Expansion'dan yararlanabilirsiniz.
TP; DR
Örnek durumunuz için tüm komut satırı:
generate | eval 'smooth |'{,,,,} plot
Not:
- daha fazla veya daha az tekrarını istiyorsanız virgül ekleyin veya kaldırın
smooth |
- daha
|önce yok plotçünkü smooth |Brace Expansion tarafından üretilen son dizeye dahil
- ayrıca
smoothaçık küme ayından önce belirtilen sabit bölüme doğru şekilde ekleyebildiğiniz sürece argümanlar da sağlayabilirsiniz ; her durumda onları komutun tüm tekrarlarına sağlayacağınızı unutmayın
Nasıl çalışır
Virgülle ayrılmış Ayraç Genişletme, her biri belirli bir sabit parça artı belirtilen değişken parçalardan oluşan dizeleri dinamik olarak oluşturmanıza olanak tanır. Ürettiği gibi değişken parçalar olduğu kadar çok dize a{b,c,d}üretir ab ac ad.
Buradaki küçük hile, boş değişken parçaların bir listesini yapmayı tercih ederseniz , örneğin parantez içindeki virgüllerle, Brace Genişletme yalnızca sabit parçanın kopyalarını üretecektir. Örneğin:
smooth{,,,,}
üretecek:
smooth smooth smooth smooth smooth
4 virgülün 5 smoothdize ürettiğini unutmayın . Bu Brace Expansion'ın işleyiş şekli: virgül artı bir tane kadar dizgi üretir.
Senin durumda Tabii bir de ihtiyaç |her ayıran smooth, yani sadece sabit kısmen eklemek ama kabuğu olması gerektiği gibi alıntı özen değil bir defada yorumlamak. Yani:
'smooth|'{,,,,}
üretecek:
'smooth|' 'smooth|' 'smooth|' 'smooth|' 'smooth|'
Sabit parçayı daima açık desteğin hemen yanına yerleştirmeye dikkat edin , yani ' ve ile arasında boşluk olmamalıdır {.
(Sabit parçayı oluşturmak için, sabit parçadaki kabuk değişkenlerini genişletmeniz gerekiyorsa, tek tırnak yerine çift tırnak kullanabileceğinizi de unutmayın. Bazı kabuğun özel karakterleri oluştuğunda gereken ekstra çıkışa dikkat edin. çift tırnaklı bir dize içinde).
Bu noktada eval , kabuğun nihayetinde olması gereken pipelined komutu olarak yorumlayabilmesi için bu dizeye bir uygulamanız gerekir.
Böylece, hepsini özetlemek gerekirse, örnek durumunuz için tüm komut satırı şöyle olacaktır:
generate | eval 'smooth |'{,,,,} plot