Wah kok  nggak ada yg coba2 dulu ya

Pertama: pastikan shell yg dipakai untuk menjalankan skrip adalah
"bash" dan bukan "dash". Sekarang ini di ubuntu dan debian, defaultnya
/bin/sh akan mengarah ke dash

History adalah fitur shell, dan dash tidak memiliki fitur history,
jadi hasilnya kalau kita ketik history adalah "not found".

Kedua: ketika menjalankan bash dalam mode non interaktif, variabel
HISTFILE tidak berisi apa-apa (kosong) karena defaultnya variabel ini
tidak diexport, sedangkan jika kita login, HISTFILE akan berisi
~/.bash_history.

Jadi dalam skrip, kita perlu mengisi dulu HISTFILE, misalnya dengan
~/.bash_history (atau sebelum menjalankan skrip, variabel HISTFILE
kita export dengan "export HISTFILE", tapi ini repot, karena yg
menjalankan skrip harus tau fakta ini)

Lalu berikutnya: dalam mode non interaktif, bash juga tidak membaca
history, jadi kita perlu memaksa bash membaca ulang file history
dengan "history -r"

Jadi kira-kira skrip shellnya seperti ini

#!/bin/bash
HISTFILE=~/.bash_history
history -r
history | grep sesuatu

Baris 1: memaksa memakai bash
Baris 2: mengeset file history
Baris 3: membaca file history
Baris 4: baru kita bisa mengambil sesuatu dari history

-- 
Regards
Yohanes
http://yohan.es/



2011/10/19 Nana Suryana <n...@suryana.or.id>:
> 2011/10/19 Muhammad Panji <sumodi...@gmail.com>:
>
>>> Saya kebetulan ingin membuat sebuah shell script (.sh) yang mampu
>>> memfilter dan menampilkan history command
>>> (memanfaatkan command history di bash), karena akan saya gabungkan
>>> dengan operasi lain.
>>>
>>> baris skrip saya seperti ini
>>> history | grep rahasia.txt
>>>
>>> Ketika command history | grep rahasia.txt saya jalankan manual dia mau jalan
>>> tetapi kalo dimasukkan dalam file.sh dan dieksekusi keluarnya history
>>> : not found.
>>>
>>> kira2 apa yang harus saya lakukan?
>> ketika dijalankan manual history yang digunakan adalah history user
>> anda sementara ketika dijalankan skrip itu adalah history sesi bash
>> baru? jadi memang historynya kosong. mungkin bisa meng-grep
>> ~/bash_history ?
>
> mungkin maksudnya:
> ~/.bash_history
>
> ---
> ns
>
> --
> Berhenti langganan: linux-programming-unsubscr...@linux.or.id
> Arsip dan info: http://linux.or.id/milis
>
>

-- 
Berhenti langganan: linux-programming-unsubscr...@linux.or.id
Arsip dan info: http://linux.or.id/milis

Kirim email ke