Bash Değişkenlerini Rasgele Sayılara Ayarlama

Bash komut isteminde kolayca rastgele bir sayı oluşturabilir, daha sonra söz konusu sayıyı değişken olarak ayarlamak için kullanabilirsiniz. Bu, belirli türdeki komut dosyalarının masa üstü rol oynama maceralarını çalıştırmasına kadar her şey için yararlıdır. Bir D & D kampanyası yazıyor ya da güçlü bash dilinde bir yardımcı program yazıyor olabilirsiniz, genellikle tek bir kod satırıyla kurtulabilirsiniz. Bu, belirli güvenlik kontrollerini önceden oluşturmaya çalışırken çok faydalı bir araçtır, ancak iyi krakerlerin bu basit sayı üreticilerini atlatabileceğini hatırlamak isteyeceksiniz. Bazı tür şifreleri ve kodları oluşturmak için hala yararlıdırlar;

Bunu başarmanın birkaç farklı yolu vardır ve her teknik her durum için uygun değildir, bu yüzden her şekilde bir göz atmak ve çalışmasını sağlamak için test etmek için elimizden gelenin en iyisini yaptık. Bunun için bir terminalden çalışmanız gerekecek, bu yüzden Ctrl + Alt + T veya Süper (Windows) + T tuşlarını kullanarak bir grafik terminali açın, Dash'ta terminal yazarak başlatabilirsiniz, Uygulama veya Whisker'dan seçin ve Sistem Araçları menüleri veya Ctrl, Alt ve F1 ile F6 arasında bir tuş kullanarak ciddi bir sanal terminale gidin.

Yöntem 1: Tam bir Rastgele Bayt Seçme

Aşağıdaki komutu doğrudan bash komut isteminden çalıştırarak 1 ile 256 arasında rasgele bir sayı oluşturabilirsiniz:

od -An -N1 -tu1 / dev / urandom

Bazen / dev / urandom yerine / dev / random için başvurulan bu komutu görebilirsiniz, muhtemelen bu şekilde çalıştırmak istemeyeceksiniz. Bu, yanlışlıkla kullanıldığında rastgele tohum üretecini kullanabilmeleri için diğer programları istemeden sorabilir. Programı çalıştırdıktan ve bir sayı kazandığınızda, bu şekilde de çalışacağından emin olabilirsiniz:

ranNum = $ (($ (od -An -N1 -tu1 / dev / urandom)))

Bu, ranNum değişkenini, çalıştırdığınız sırada seçilen 1 ile 256 arasında bir sayıya ayarlayacaktır. Komut satırından veya komut dosyasının içinden çalıştırabilir ve her iki şekilde çalışmalıdır. Herhangi bir geçerli değişken adıyla ranNum'u değiştirebileceğinizi unutmayın.

Yöntem 2: 1 ve her ne olursa olsun rasgele bir sayıya bir değişken ayarlama

Komut satırından echo $ [RANDOM% 40 + 1] 'ı 1 ile 40 arasında standart çıktıya rastgele bir sayı göndermek için çalıştırabilirsiniz, ancak komutun içindeki 40'ı hemen hemen herhangi bir sayı ile değiştirebilirsiniz. Sonunda, ana makinenizin mimarisi rakamlardan veya belki de bashtan biter, ancak yine de bu kadar yüksek bir sayıya ihtiyacınız olduğu şüpheli.

Değişken yapılandırmanız için 1 ile 10 arasında rastgele bir sayı oluşturmak istediğinizi varsayalım. Koşabilirsin:

ranNum = $ [RASGELE% 10 + 1]

PRO TIP: Sorun bilgisayarınız veya dizüstü bilgisayar / dizüstü bilgisayar ile yapılmışsa, depoları tarayabilen ve bozuk ve eksik dosyaları değiştirebilen Reimage Plus Yazılımı'nı kullanmayı denemeniz gerekir. Bu, çoğu durumda, sorunun sistem bozulmasından kaynaklandığı yerlerde çalışır. Reimage Plus'ı tıklayarak buraya tıklayarak indirebilirsiniz.

İstediğiniz üst değeri 10 ile değiştirebileceğinizi unutmayın. Bu değer kapsayıcıdır, yani 10 geçerli bir geri dönüş değeridir. Birini azaltmak istediyseniz, C veya C ++ stili -1 matematiğini kullanmak yerine 9 değerini kolayca yapın. Bu yöntemi kullanarak bir değişken belirlerken bunlar gereksizdir ve rakam ekleyerek veya çıkartarak beklenmedik sonuçlar üretirler.

Yöntem 3: Tek bir rasgele bit seçme

Bir değişkeni sıfır veya bir rastgele bir bit olarak ayarlamanız gerekiyorsa, aşağıdaki kodu aşağıdaki gibi değiştirmek isteyebilirsiniz:

ranNum = $ (($ (od -An -N1 -i / dev / urandom)% 2))

Bu kod, / dev / urandom dosyasından örneklenen sayıların çift veya tek olup olmadığına bağlı olarak ranNum değerini 1 veya 0 olarak ayarlayacaktır. Bu, bir veya diğer duruma basit bir evet veya denklem koymanız gerekiyorsa yararlı olabilir.

Bu, üzerinde çalıştığınız şey için yeterince rasgele değilse, o zaman aşağıdakilerle / proc / sys / kernel / random dizinine bir çağrı yaparak biraz daha rasgele bir sayı elde edebilirsiniz:

ranNum = $ ((0x $ (cut -c1-1 / proc / sys / kernel / random / uuid)% 2))

Yine de, bu, değişkeni sadece 1 veya 0'a ayarlayacaktır, ikili mantık için mükemmeldir, ancak daha uzun bir sayıya ihtiyaç duyabileceğiniz zamanlar için kullanışlı değildir. Bununla birlikte, herhangi bir gereksiniminiz varsa, bu satırlardan herhangi birini bir bash komut dosyasında kullanabilirsiniz. Bu ikinci seçenek aslında ilkinin başarısız olduğu durumlar için daha iyi olabilir.

Yöntem 4: rasgele sayıları dönmek için bash komut dosyaları yazma

Herhangi bir zamanda rasgele bir sayı oluşturmak için kullanışlı bir araç kullanmak istiyorsanız, bunu yapmak için bir komut satırı komut dosyası oluşturabilirsiniz. Bu, modern Linux komutlarının sahip olduğu standart bash dilinden başka bir şey kullanmıyor, bu yüzden herhangi bir modern Linux dağıtımı ve BSD tabanlı işletim sistemlerinin oldukça azı bunu halletmeli. Komut dosyanızı herhangi bir yerden çalıştırabileceğiniz bir yere yerleştirdiğinizden emin olmak için cd ~ / .local / bin kullanmaya devam edebilirsiniz.

İstenirse, betiğiniz için farklı bir ad kullanabilmenize rağmen nano rasgele veya vi rasgele bir şekilde yazmaya başlayın. İsterseniz başka bir metin editörü de kullanabilirsiniz. Komut satırına yazıldığında 1 veya 0 döndürecek bir tane oluşturmak istediğinizi varsayalım. Aşağıdakileri girin ve nano kullanıyorsanız, kaydetmek için Ctrl + O tuşlarına basın:

#! / bin / bash ranNum = $ (($ RANDOM% 2)) echo $ ranNum

Metin editöründen çıkmak için Ctrl + X tuşlarına basın ve komut satırında bir kez daha komut dosyanızı kullanılabilir hale getirmek için chmod + x rasgele kullanın. Tabi ki kullanabilirsiniz ranNum = $ [RANDOM% 10 + 1], ranNum = $ (($ (od -An -N1 -tu1 / dev / urandom))) veya herhangi bir başka bir satır ranNum = $ (($) RANDOM% 2)) böylece tam olarak ne tür bir sayı istediğinizi kontrol edebilirsiniz. Düzenli olarak 1 ile 50 arasında bir sayı seçmek istediğinizi varsayalım. Bash komut dosyasının metnini şu şekilde değiştirin:

#! / bin / bash ranNum = $ [RANDOM% 50 + 1] echo $ ranNum

Artık rasgele bir sayı oluşturmak istediğinizde rastgele yazarak komut satırından kolayca çalıştırabilirsiniz.

PRO TIP: Sorun bilgisayarınız veya dizüstü bilgisayar / dizüstü bilgisayar ile yapılmışsa, depoları tarayabilen ve bozuk ve eksik dosyaları değiştirebilen Reimage Plus Yazılımı'nı kullanmayı denemeniz gerekir. Bu, çoğu durumda, sorunun sistem bozulmasından kaynaklandığı yerlerde çalışır. Reimage Plus'ı tıklayarak buraya tıklayarak indirebilirsiniz.

Facebook Twitter Google Plus Pinterest