Rabu, 24 November 2021

Mengenal Penggunaan Perintah $ bash –init-file

Mungkin pembaca pernah (penasaran) melakukan perintah $ bash –help, dan belum tahu kegunaanya


user@localhost ~ $ bash --help
GNU bash, version 4.3.42(1)-release-(i686-redhat-linux-gnu)
Usage:	bash [GNU long option] [option] ...
		bash [GNU long option] [option] script-file ...
GNU long options:
	--debug
	--debugger
	--dump-po-strings
	--dump-strings
	--help
	--init-file
	--login
	--noediting
	--noprofile
	--norc
	--posix
	--rcfile
	--rpm-requires
	--restricted
	--verbose
	--version
Shell options:
	-ilrsD or -c command or -O shopt_option		(invocation only)
	-abefhkmnptuvxBCHP or -o option
Type `bash -c "help set"' for more information about shell options.
Type `bash -c help' for more information about shell builtin commands.


Adapun kegunaan pilihan –init-file adalah membuat interaktif baru disertai (membuat) pengaturan-pengaturan sebagai default untuk interaktif baru tersebut.


Jika pembaca masih belum paham/yakin betul apa itu interaktif (pada terminal Linux), bahwa (secara sederha) interaktif adalah penggunaan terminal yang sifatnya digunakan untuk melakukan/memasukkan perintah untuk berkomunikasi dengan sistem komputer, istilah lainnya adalah (program) interpreter.

Untuk lebih jelasnya, pelajari contoh berikut dalam membuat interaksi baru menggunakan pilihan –init-file.

Buat file untuk init:


#nama file: tes-init.sh

echo -e "\n\n[[ Selamat datang di interaksi baru... ]]\n\n"
PS1="Masukkan Perintah >> "
TES_VARIABEL="Ok.. anda memanggil saya"

# Pada interaksi ini anda tidak diizinkan atau tidak bisa menginput-
# angka 3, 5, 7
bind '"3":""'
bind '"5":""'
bind '"7":""'

kemudian jalankan/eksekusi file-init.sh tersebut dengan perintah:


user@localhost ~ $ bash –init-file tes-init.sh 
 


 

Ya, itu adalah (shell) interaktif di dalam interaktif, dimana intraksi pertama (pada dasarnya) tidak mempunyai hubungan pemberian nilai ke interaksi kedua, misalnya nilai variabel pada shell interaksi pertama, tidak bisa diambil di interaksi kedua, begitu juga sebaliknya. Interaksi pertama dengan kedua seperti ruang berbeda, meski dalam satu tampilan jendela terminal, sebagaimana pada contoh gambar diatas. Semacam menjalankan interaksi python d terminal.

Semoga bermanfaat


Minggu, 14 November 2021

Cara Menemukan Posisi Huruf/Karakter Dan Mengambil (beberapa) Karakter/Huruf Berdasarkan Posisi Pada Pemrogaman Bash

 Pembahasan mengenai mendapatkan posisi huruf (atau karakter) maupun mendapatkan (satu atau sekumpulan) karakter (atau huruf) dalam pembelajaran berbahasa inggris istilahnya “Substring Extraction”, secara bahasa (yang mungkin bisa dipahami secara awam) adalah menggali atau mengeluarkan apa yang didalam substring (sebuah atau serangkaian huruf/karakter yang merupakan sebuah nilai).

Rumus:
${string:position}
Contoh 1 :

user@localhost ~ $ string=abcABC123ABCabc
user@localhost ~ $ echo ${string:0}
abcABC123ABCabc
user@localhost ~ $ echo ${string:1}
bcABC123ABCabc
user@localhost ~ $ echo ${string:7}
23ABCabc
user@localhost ~ $ echo ${string:7:3}
23A
user@localhost ~ $ echo ${string:-4}
abcABC123ABCabc
user@localhost ~ $ echo ${string:(-4)}
Cabc
user@localhost ~ $ echo ${string: -4}
Cabc

Uraian:

Saat mengekstrak substring dengan cara diatas, maka perlu diketahui bahwa tiap karakter/huruf pada subtring mempunyai index, dan index pertama dimulai dari 0

a --> index ke 0
b --> index ke 1
c --> index ke 2
A --> index ke 3
B --> index ke 4
C --> index ke 5
1 --> index ke 6
…
…
…
c --> index ke 14
Jadi jumlah karakter ada 15 (14+1).
${string:0} menampilkan karakter dari index 0 (“a” awal) sampai index akhir (“c” akhir)
${string:1} menampilkan karakter dari index 1 (“b” awal) sampai index akhir (“c” akhir)
${string:7:3} menampilkan 3 karakter dari index 7, jadi berakhir di index 9
${string:-4} akan terbaca secara default (terambil semua nilai string)
${string:(-4)} menampilkan 4 karakter dari belakang (index terakhir)

${string: -4} sama dengan “(-4)” diatas, dan teliti lagi bahwa tidak sama dengan yang tanpa tanda kurung diatas. Disini antara “:” dan “-” terdapat spasi, sedangkan yang diatas tanpa spasi.

Cara ini juga bisa digunakan pada parameter $* atau $@, seperti:
echo ${*:2}
echo ${@:2}
echo ${*:2:3}

Selain cara diatas, terdapat cara lain dengan menggunakan “expr”. Penggunaan expr untuk mengekstrak bisa lebih luas lagi.

Rumus: expr substr $string $position $length
Contoh 2 :

user@localhost ~ $ string=abcABC123ABCabc
user@localhost ~ $ echo `expr substr $string 1 2`
ab
user@localhost ~ $ echo `expr substr $string 4 3`
ABC

Uraian:

Perhatikan perbedaan pengindexan dengan Contoh 1, jika pada Conroh 1 index pertama dimulai dari 0, sedangkan disini dimulai dari 1. Dengan expr bisa juga mengunakan regular expression untuk mencocokkan karakter dalam string.

Rumus:
expr match "$string" '\($substring\)' atau expr match "$string" '.*\($substring\)'
expr "$string" : '\($substring\)' atau expr "$string" : '.*\($substring\)'

Contoh 3 :

user@localhost ~ $ string=abcABC123ABCabc
user@localhost ~ $ echo `expr match "$string" '\(.[b-c]*[A-Z]..[0-9]\)'`
abcABC1
user@localhost ~ $ echo `expr "$string" : '\(.[b-c]*[A-Z]..[0-9]\)'`
abcABC1
user@localhost ~ $ echo `expr "$string" : '\(.......\)'`
abcABC1
user@localhost ~ $ echo `expr match "$string" '.*\([A-C][A-C][A-C][a-c]*\)'`
ABCabc
user@localhost ~ $ echo `expr "$string" : '.*\(......\)'`
ABCabc 


Semoga bermanfaat