Apa naskah paling berguna yang Anda tulis untuk kehidupan sehari-hari? [Tutup]
132
Hanya ingin tahu apa skrip / program kecil yang ditulis orang yang membantu kehidupan sehari-harinya (alias tidak terkait pekerjaan).
Apa saja, terobosan atau tidak. Bagi saya sekarang, ini adalah skrip python kecil untuk menghitung kecepatan lari yang diberikan jarak dan waktu yang telah berlalu.
Saya telah melihat beberapa yang berhubungan dengan pekerjaan yang sangat keren, tetapi tidak banyak skrip terkait "kehidupan sehari-hari". Kemudian lagi, jika sesuatu di tempat kerja menghancurkan hidup Anda dan Anda memperbaikinya dengan naskah yang rapi, lalu siapakah yang harus saya hakim?
Kyle Walsh
10
Salah satu pertanyaan permata yang membuat stack overflow bernilai sementara. Pedoman apa pun yang menyarankan ditutup tidak boleh ada, mod yang memilih untuk menutupnya tidak boleh ada.
Bill K
Ini satu untuk saya: github.com/codeforester/base . Kerangka kerja ini telah meningkatkan produktivitas saya sebagai orang SRE / DevOps dengan cepat, sambil meningkatkan kekompakan dan kolaborasi tim.
codeforester
Jawaban:
116
oKunci saya jatuh di laptop saya; jadi saya menulis sebuah program yang menggantikan dua 0penekanan tombol dalam 200 MS satu sama lain sebagai o, dua 0penekanan tombol dalam 700 MS satu sama lain sebagai 0dan mengabaikan sisanya; jadi saya bisa menggunakan laptop saya sebelum saya mengganti keyboard.
Wow; Saya tidak tahu ini akan sangat populer: p
Adapun caranya - Microsoft memperlihatkan fitur API kecil yang menyenangkan yang disebut Hooks .
Menggunakan kait itu; Saya dapat menulis "filter" yang melakukan apa yang saya butuhkan (petunjuk: jika Anda kembali 1 dengan jendela panggilan balik Anda tidak akan memproses penekanan tombol).
Alasan saya tahu tentang ini sebenarnya bukan karena saya menulis keylogger - tetapi karena saya menulis program smiler untuk Synergy beberapa waktu yang lalu.
Dan ya. Saya memang menulis program lain yang menukar kunci alpha-numeric dengan kunci alpha-numeric acak dan ya; itu benar-benar lucu: D
HA! Y00u tidak akan dapat mengetikkan 00n pada keyb00ard standar lagi dengan00ut pelatihan ulang jari-jari kita! Keberuntungan G0000d!
Doug L.
107
Pertanyaan besarnya adalah bagaimana Anda bisa menulis program itu tanpa menggunakan huruf 'o'?
e.James
115
Saya tidak memiliki kode lagi, tetapi mungkin skrip yang paling berguna yang saya tulis adalah, percaya atau tidak, di VBA. Saya memiliki kolega yang menyebalkan yang memiliki sekering pendek sehingga saya menyebutnya sebagai Cherry Bomb. Dia sering marah ketika pelanggan akan menelepon dan kemudian berdiri dan mulai mengomel saya di atas dinding bilik, membunuh produktivitas dan moral saya.
Saya selalu membuka Microsoft Excel. Ketika dia melakukan ini, saya akan alt-tab ke Excel dan di sana, pada bilah alat, adalah ikon baru dengan gambar bom ceri. Saya diam-diam akan mengklik itu ... dan tidak ada yang akan terjadi.
Namun, tak lama setelah itu saya akan menerima telepon dan mengatakan sesuatu seperti "yeah, yeah, itu kedengarannya buruk. Sebaiknya saya memeriksanya." Dan kemudian aku akan bangun, meminta maaf kepada Cherry Bomb dan pergi.
Apa yang terjadi adalah kami menggunakan NetWare dan memiliki sistem perpesanan primitif. Ketika saya mengklik tombol itu, skrip VBA kecil akan mengirimkan pesan NetWare kepada teman-teman saya, memberi tahu mereka bahwa Cherry Cherry sudah melakukannya lagi dan akankah mereka tolong hubungi saya Dia tidak pernah mengetahuinya :)
Anda tahu Anda seorang programmer ketika Anda menulis sebuah program untuk keluar dari situasi sosial yang canggung.
Cadoo
7
Luar biasa! Ini adalah rekayasa sosial yang terbaik!
Beska
1
Mari berharap Cherry Bomb tidak menggunakan StackOverflow :)
Pedro Luz
94
Sebuah bash script yang disebut up sehingga jika saya di /a/very/deeply/nested/path/somewheredan saya ingin pergi "up" N direktori, saya bisa mengetik :up N
#!/bin/bash
LIMIT=$1
P=$PWD
for ((i=1; i <= LIMIT; i++))
do
P=$P/..
done
cd $P
Sebagai contoh:
/a/very/deeply/nested/path/somewhere> up 4
/a/very>
NB oleh gmatt:
Bekerja dari pekerjaan besar di atas, itu dapat diperluas ke fungsi kembali dengan menempatkan berikut ini di bashrc Anda:
function up( )
{
LIMIT=$1
P=$PWD
for ((i=1; i <= LIMIT; i++))
do
P=$P/..
done
cd $P
export MPWD=$P
}
function back( )
{
LIMIT=$1
P=$MPWD
for ((i=1; i <= LIMIT; i++))
do
P=${P%/..}
done
cd $P
export MPWD=$P
}
1 Absolutely f 'ing brilian! Saya akan menggunakan ini banyak !
wzzrd
12
Mengapa Anda mengganti kode yang mudah dibaca dengan kode yang sulit dibaca? Apakah komputer Anda berjalan lebih cepat jika Anda memiliki lebih sedikit jalur kode sumber?
Beska
3
Gnud: ganti kode saya yang bersih dan jelas dengan sampah? Tidak, terima kasih.
foxdonut
2
cemerlang! Saya memperpanjang ini untuk memasukkan backmetode, jadi setiap kali Anda menggunakan Anda dapat menggunakan kembali untuk dengan mudah bergerak maju dan mundur. Untuk menggunakannya, letakkan ini di bashrc Anda (maaf tentang pemformatan sial): berfungsi naik () {LIMIT = $ 1 P = $ PWD untuk ((i = 1; i <= LIMIT; i ++)) lakukan P = $ P / .. selesai cd $ P ekspor MPWD = $ P} berfungsi kembali () {LIMIT = $ 1 P = $ MPWD untuk ((i = 1; i <= LIMIT; i ++)) lakukan P = $ {P% / ..} selesai cd $ P export MPWD = $ P}
ldog
2
apakah saya gila bagaimana ini bekerja? cd di skrip akan cd di sana tetapi ketika skrip ada, Anda kembali ke direktori yang sama / asli! apakah bash saya bekerja berbeda dari semua milikmu?
johnnyB
67
Tombol reset super jarak jauh.
Rak perangkat keras simulasi yang sangat spesial (pada hari-hari ketika ruangan yang penuh dengan peti VME melakukan kurang dari GPU Anda) bahwa pengguna di sisi lain dunia akan crash pada jam-jam awal pagi. Butuh satu jam untuk masuk ke lab dan melalui keamanan.
Tetapi kami tidak diizinkan untuk terhubung ke pengontrol super khusus atau memodifikasi perangkat keras. Solusinya adalah workstation DEC tua dengan printer epson dot matrix, rekatkan penggaris plastik ke kenop umpan kertas, posisikan printer di dekat tombol reset.
Masuk ke WS sebagai pengguna biasa (root tidak diizinkan, semua port eksternal terkunci), cetak dokumen dengan garis 24blank - yang memutar kenop umpan kertas dan penggaris menekan reset pada perangkat keras super spesial .
Cerita yang fantastis! Tidak yakin apakah Anda percaya atau tidak;)
Greg Whitfield
Itu akhirnya digantikan oleh relay saklar daya yang terhubung ke jalur DTR pada port serial - tetapi itu membutuhkan akses root. Dan saya seharusnya mengatakan DEC WS karena menjalankan Ultrix.
Martin Beckett
Wow, panjangnya kita berusaha untuk mendapatkan keamanan!
Jika kita memiliki nampan CD di hari-hari itu akan menjadi solusi yang lebih mudah,
Martin Beckett
63
Pada Windows XP, saya telah menetapkan pekerjaan AT untuk menjalankan perintah ini setiap hari di C: \
dir /s /b * > dirlist.txt
Ini mencantumkan path lengkap semua file pada drive C. Maka setiap kali saya perlu menemukan file, saya bisa menggunakan findstr. Ini berdetak menggunakan Pencarian Windows Explorer karena memungkinkan pencocokan ekspresi reguler di seluruh jalur. Sebagai contoh:
Ini adalah solusi yang sangat cepat untuk diatur, dan hebat jika Anda menemukan diri Anda dengan menginstal Windows baru dan tidak ada koneksi internet.
Jika Anda perlu mencari di dalam tipe file tertentu untuk beberapa pola, pertama-tama daftarkan semua file yang perlu Anda periksa, kemudian cari di dalamnya. Misalnya, untuk menemukan program Java atau Python yang membalik gambar Anda bisa melakukan ini:
@Mark Yang menunjukkan bahwa bahkan jika Anda harus bekerja dengan Windows, Anda dapat mempelajari banyak hal berguna dari unix
Liam
1
Saya membuat salah satu skrip ini untuk folder "Documents" saya, yang sepertinya tidak pernah bisa saya atur :-)
sep332
1
dan di sana saya menggunakan pencarian Google Desktop: D
inspite
38
Saya memiliki skrip Python yang secara otomatis berjalan ketika saya mencolokkan kamera digital saya.
Ini menyalin semua gambar dari kartu di kamera, mencadangkannya, dan kemudian mengunggahnya ke Flickr.
Unggahan ke Flickr berasal dari uploadr.py (yang tidak bisa saya setujui untuk).
Berikut kode Python untuk membongkar kamera. Ini berulang melalui SRCDIR dan nama setiap gambar dengan tanggal & waktu sebelum menyalin gambar ke DESTDIR.
#!/usr/bin/python
import os
import string
import time
import shutil
###################################################
__SRCDIR__ = "/mnt/camera"
__DESTDIR__ = "/home/pictures/recent"
###################################################
def cbwalk(arg, dirname, names):
sdatetime = time.strftime("%y%m%d%H%M")
for name in names:
if string.lower(name[-3:]) in ("jpg", "mov"):
srcfile = "%s/%s" % (dirname, name)
destfile = "%s/%s_%s" % (__DESTDIR__, sdatetime, name)
print destfile
shutil.copyfile( srcfile, destfile)
###################################################
if __name__ == "__main__":
os.path.walk(__SRCDIR__, cbwalk, None)
Bagikan kodenya, dan saya akan membagikan suara :)
Even Mien
40
Ini akan bekerja dengan baik sampai hari Anda melupakan foto-foto spesial yang Anda ambil malam sebelumnya ...
Ed Guiness
Hal yang lengkap sebenarnya adalah proses dua langkah. Langkah pertama membuang sesuatu dari kamera & menamainya kembali. Langkah kedua memiliki prompt yang menanyakan apakah Anda ingin mengunggah ke Flickr. Itu lebih karena mengunggah membunuh bandwidth saya daripada karena saya khawatir tentang apa yang saya unggah.
Beberapa tahun yang lalu saya menulis aplikasi winforms dengan bantuan api win32 untuk mengunci diri saya sepenuhnya dari komputer saya selama satu jam sehingga akan memaksa saya untuk pergi dan berolahraga. Karena saya malas? Tidak ... karena saya punya tujuan kebugaran pribadi. Terkadang Anda hanya perlu sedikit tendangan untuk memulai :)
Saya menulis skrip Python yang akan pergi ke semua komik web yang saya baca, dan mengunduh komik baru. Saya hanya menjalankannya sekali sehari, dan tidak perlu mengunjungi setiap situs satu per satu, cukup kunjungi / Komik / Folder. ;)
hmmm. Jika ini adalah komik yang didukung iklan, saya akan khawatir bahwa Anda tidak "membayar" dengan mengambil risiko melihat iklan :-)
Matthew Scouten
2
@ Matthew - Saya mengerti maksud Anda, tetapi saya tidak mengerti mengapa tidak melihat iklan adalah masalah moral / etika. Jika demikian, penulis No-Script dan pemblokir pop-up memiliki banyak penjelasan untuk dilakukan. ;)
Onion-Knight
1
Saya tidak punya masalah dengan pemblokir pop-up, karena popup adalah cara yang kasar untuk menampilkan iklan. Ini bukan masalah moral, lebih merupakan masalah keadilan. Saya menggunakan adblocker di sebagian besar situs, tetapi matikan untuk situs tertentu yang sering saya kunjungi dan ingin dukung. Mengambil komik dengan skrip python (dan tidak pernah melihat situs sama sekali) terasa seperti itu bagi saya, tapi saya tidak bisa memberi tahu Anda dengan tepat di mana letak baris itu.
Matthew Scouten
14
Skrip cadangan .cmd saya. Ini berjalan di server saya setiap malam, dan memberi nama file cadangan sesuai dengan hari kerja. Satu minggu penuh cadangan telah menyelamatkan saya (dan keluarga saya) berkali-kali:
:: Argumen cadangan:
:: / V Verifikasi? (ya Tidak)
:: / R Membatasi akses ke pemilik? (ya Tidak)
:: / RS Penyimpanan yang dapat dilepas? (ya Tidak)
:: / Kompresi Perangkat Keras HC (hidup / mati)
:: / M Jenis cadangan (normal / salin / diferensial / inkremental / harian)
:: / L Jenis file log (f / s / n)
:: / D "Keterangan"
:: / J "Nama-pekerjaan"
:: / F "Nama-file"
SETLOCAL
:: pastikan drive jaringan dipasang
PANGGILAN C: \ bat \ configs \ MapShares-home.cmd
gema terus
atur hari ini =% DATE: ~ 0,3%
jika% hari ini% == Sen ditetapkan kemarin = 0Sunday
jika% hari ini% == Sel ditetapkan kemarin = 1 Senin
jika% hari ini% == Menetapkan kemarin = 2 Selasa
jika% hari ini% == Ditetapkan kemarin = 3 Rabu
jika% hari ini% == Fri atur kemarin = 4 Kamis
jika% hari ini% == Sat ditetapkan kemarin = 5Friday
jika% hari ini% == Matahari terbenam kemarin = 6Saturday
set configsDir =% ~ dp0
set storePath = C: \ mybackups
:: (mis: file Monday C)
atur judul =% kemarin% set cadangan
echo% DATE%% TIME%% title%> "% storePath% \% kemarin% _backup.log"
CALL BackupConfigs.bat
:: Buat file BKF baru
panggil C: \ WINDOWS \ system32 \ ntbackup.exe cadangan ^
"@% configsDir% \ daily.bks" ^
/ V: ya / R: tidak / RS: tidak / HC: off / M normal / L: s ^
/ D "% title%" ^
/ J "% title% .job" ^
/ F "% storePath% \% kemarin% .bkf" ^
>> "% storePath% \% kemarin% _backup.log"
echo% DATE%% TIME% Selesai >> "% storePath% \% kemarin% _backup.log"
salin "% storePath% \% kemarin% .bkf" "V: \ Backups \ NEPTUNE"
PANGGILAN C: \ bat \ clean-temps.bat
defrag -v C:> "% storePath% \% kemarin% _defrag.log"
:: tampilkan direktori cadangan
start / D "C: \ bat \ Backups \" checkbkf.bat
ENDLOCAL
::berhenti sebentar
Beberapa trik file .cmd yang bagus di sana. Saya tahu Anda bisa menggunakan '^' untuk menghindari pengalihan dan pipa, tapi saya tidak tahu Anda juga bisa menggunakannya sebagai kelanjutan garis. Keren :)
Patrick Cuff
Dunia membutuhkan lebih sedikit skrip .bat, tidak lebih! :-)
JesperE
2
Dan akibatnya adalah bahwa dunia membutuhkan lebih sedikit Windows. Sampai saat itu, ini adalah penyebut yang paling tidak umum. Saya membagikan skrip ini karena jutaan orang dapat menggunakannya, sebagaimana adanya.
Chris Noe
14
"backup.sh" yang memecah isi direktori dan mengirimkannya ke akun gmail saya.
Nah, itu keren. Meskipun saya tidak memiliki komputer dari puluhan saya yang memiliki pengaturan smtp. Dengan sedih.
mxcl
Bisakah kita memiliki kodenya?
Kostas
14
Saya menulis naskah yang akhirnya digunakan setiap hari di tim saya. Ketika saya dulu bekerja untuk Intel, kami memiliki aplikasi yang berbicara dengan basis data akses untuk mengambil setumpuk informasi register (saya bekerja pada memvalidasi chipset). Itu akan mengambil informasi ini (dari permintaan SQL) dan membuangnya ke file CSV, file HTML, dan file Excel. Seluruh proses memakan waktu hampir 2 jam. Tidak bercanda. Tidak tahu mengapa butuh waktu lama. Kami akan memulainya satu jam sebelum makan siang, pergi makan siang, dan kemudian kembali.
Saya pikir harus ada cara yang lebih baik untuk melakukan ini. Saya berbicara dengan tim yang mengelola database registri dan mendapatkan kode SQL dari mereka. Saya kemudian menulis skrip perl yang mengambil data dan menghasilkannya menjadi format CSV, HTML, dan Excel. Runtime? Sekitar 1-2 detik. Peningkatan kecepatan yang luar biasa.
Saya juga menulis beberapa naskah saat saya ditempatkan di Irak pada tahun 2006 (saya bertugas di Garda Nasional selama 9 tahun - keluar pada bulan Desember). Kami menggunakan aplikasi lama ini yang disebut ULLS-G (Unit Level Logistics System - Ground) yang ditulis dalam ADA dan awalnya dijalankan pada DOS. Mereka cukup meretasnya ke tempat itu akan berjalan pada Windows XP di shell perintah. Sistem ini tidak memiliki antarmuka mouse. Semuanya melalui keyboard dan tidak memiliki fungsi batch. Jadi katakanlah Anda ingin mencetak lisensi untuk semua operator kendaraan? Ya ... kami punya 150 tentara di unit kami jadi butuh waktu yang lama. Katakanlah semua orang mendapatkan kualifikasi pada kendaraan baru dan Anda ingin menambahkannya ke kualifikasi operator semua orang? Anda harus melakukannya satu per satu.
Saya dapat menemukan driver ODBC untuk database SAGE (apa yang digunakan ULLS-G) dan jadi saya menulis skrip perl yang dapat berbicara dengan database SAGE. Jadi hal-hal yang memakan waktu lebih dari satu jam, sekarang hanya butuh beberapa detik. Saya juga menggunakan skrip dan driver untuk melaporkan. Kami harus melaporkan semua informasi hingga ke batalion setiap pagi. Unit lain akan menulis informasi dengan tangan setiap pagi. Saya menyiapkan makro Excel yang berbicara menggunakan driver yang sama dan berbicara dengan database SAGE dan memperbarui spreadsheet Excel dengan cara itu. Ini adalah makro Excel yang paling rumit dan satu - satunya yang pernah saya tulis. Itu terbayar karena mereka memberi saya Medali Penghargaan Angkatan Darat. Jadi ya, saya mendapat medali di militer untuk menulis skrip perl :) Berapa banyak yang bisa mengatakan itu? ;)
Saya seorang pilot pribadi. Saya menulis beberapa skrip yang memperoleh informasi cuaca untuk bandara lokal dari aviationweather.gov. Mereka berguna untuk jawaban cepat untuk pertanyaan "Apakah hari ini hari yang baik untuk terbang?"
eww ... Saya sering menemukan diri saya ingin pergi ke arah lain ...
menggigil 42
1
Anda harus bertanya-tanya mengapa orang mulai memilih jawaban untuk pertanyaan dengan tag subyektif .... apa gunanya?
Greg Whitfield
Ya, ini penting :)
Nick
11
Scraper HTML berulir untuk mengunduh semua subtitle yang tersedia untuk film seri / dari sebuah situs yang menyakitkan untuk digunakan (Anda harus mengklik seperti 4 kali setelah pencarian untuk sampai ke halaman unduh, hanya untuk menampilkan lebih banyak iklan). Sekarang saya tinggal memasukkan kriteria pencarian dan tekan unduh.
Dia akan membagikannya, dan situs akan mengetahuinya :). Lebih baik tidak berbagi kadang-kadang ...
Camilo Díaz Repka
11
Skrip perl yang mengikis Craigslist lokal saya, berdasarkan kategori yang dipilih, ke SQL DB yang kemudian dapat saya tolak.
V2 ini memperbarui DB dengan timer dan mengingatkan saya jika saya memiliki kecocokan pada salah satu pertanyaan, pada dasarnya memberi saya agen latar belakang untuk CL.
Mengganti nama file secara massal melalui drag & drop.
Beberapa waktu yang lalu saya telah membuat VBScript kecil yang menerima RegEx dan menggantikan nama file yang sesuai. Anda cukup menjatuhkan banyak file atau folder di dalamnya. Saya menemukan itu sangat berguna sepanjang tahun.
Tampaknya konyol untuk memilih kode deskripsi sans.
Chris Noe
Kode ini akan terlalu banyak untuk situs web. Mungkin "kecil" sedikit meremehkan. Ini 170 LOC.
Tomalak
Saya dapat mengunggah skrip ke suatu tempat dan memposting tautan di sini jika Anda tertarik.
Tomalak
8
Skrip Python Cepat dan Kotor yang mencari DNS untuk google.com setiap 5 detik dan berbunyi bip sekali jika berhasil dan dua kali jika gagal.
Saya menulis ini pada saat saya harus hidup dengan jaringan rumah yang sangat rapuh. Itu memungkinkan saya untuk langsung mengetahui keadaan jaringan bahkan ketika saya pertama kali berada di bawah meja di seberang ruangan dengan kedua tangan penuh dengan kabel jaringan dan senter di mulut saya.
Ya, itu membuatku kelelawar setelah sekitar 30 menit. Idenya adalah untuk sedekat mungkin dengan umpan balik waktu nyata. Saya biasanya bisa memperbaiki keadaan dalam waktu sekitar 10 menit.
Matthew Scouten
8
Ini, dari posting di blog saya beberapa bulan yang lalu, telah berubah dari gagasan yang saya pikir keren untuk salah satu peretasan kecil terbaik yang saya batuk dalam memori baru-baru ini. Saya mengutipnya secara lengkap di sini:
==================
Saya menghabiskan banyak waktu di bash. Untuk yang belum tahu, bash adalah sistem yang akan Anda temukan di sebagian besar mesin unix dan, untungnya, beberapa jendela dan setiap Mac di luar sana. Pada blush on pertama, itu tidak lebih dari antarmuka baris perintah, dan karena itu dari radar sebagian besar pengguna yang melihat hal-hal seperti anakronisme yang mereka lebih suka lupa.
Saya melakukan hampir semuanya dalam bash. SAYA BACA EMAIL SAYA DARI LINE PERINTAH, itulah sebabnya saya menghindari email yang ditandai. Saya menavigasi direktori, mengedit file, terlibat dalam checkout dan pengiriman kode sumber harian saya, mencari file, mencari di dalam file, me-reboot mesin saya, dan bahkan kadang-kadang menelusuri halaman web dari baris perintah. bash adalah jantung dan jiwa dari keberadaan digital saya.
Masalahnya adalah saya cenderung memiliki sekitar 6 jendela terbuka pada suatu waktu. Di tempat kerja hari ini, saya punya satu yang menjalankan server web, yang lain mengutak-atik basis data saya, yang ketiga, keempat, dan kelima mengedit file yang berbeda, sementara yang keenam sedang mencari-cari di mesin saya mencoba untuk merekam nama-nama setiap file pada sistem. Mengapa? Karena itu berguna untuk dapat mencari melalui arsip seperti itu jika Anda ingin tahu di mana menemukan objek dengan nama file.
Ketika Anda melakukan ini, Anda berakhir dengan banyak jendela di bilah kontrol Anda dengan nama sederhana, "bash." Ini baik-baik saja jika Anda hanya memiliki satu dari mereka, tetapi penderitaannya ketika Anda memiliki 6 atau lebih .... dan dua lusin hal lain terjadi. Saya memiliki tiga monitor di bawah perintah simultan dari satu pasangan keyboard / mouse dan saya masih merasa perlu untuk lebih. Masing-masing windows memiliki beberapa terminal bash terbuka.
Jadi saya telah mencelupkan ini bersama. Pertama, tempatkan baris ini di .bash_profile Anda:
Saya telah meneliti dan menulis lusinan paragraf tentang bagaimana semua ini bekerja dan mengapa itu diatur sebagaimana mestinya, tetapi Anda tidak benar-benar tertarik. Percayalah kepadaku. Ada seluruh bab buku tentang mengapa saya melakukan "CMD = ...; echo ..." di baris ketiga itu. Banyak orang (termasuk bluehost, tempat domain saya lainnya dihosting) masih menggunakan dan versi lama dari bash dengan bug utama dalam cara menangani jebakan, jadi kami terjebak dengan ini. Anda dapat menghapus CMD dan menggantinya dengan $ BASH_COMMAND jika Anda saat ini pada versi bash Anda dan merasa ingin melakukan penelitian.
Bagaimanapun, skrip pertama yang saya gunakan ada di sini. Ini menciptakan prompt yang bagus yang berisi nama dan direktori mesin Anda, dipotong dengan panjang yang masuk akal:
============trim.pl===========
#!/usr/bin/perl
#It seems that my cygwin box doesn't have HOSTNAME available in the
#environment - at least not to scripts - so I'm getting it elsewhere.
open (IN, "/usr/bin/hostname|");
$hostname = <IN>;
close (IN);
$hostname =~ /^([A-Za-z0-9-]*)/;
$host_short = $1;
$preamble = "..." if (length($ENV{"PWD"})>37);
$ENV{"PWD"} =~ /(.{1,37}$)/;
$path_short = $1;
print "$host_short: $preamble$path_short";
==============================
Ada peringatan di bagian atas posting blog ini yang harus Anda baca sekarang sebelum mulai mengajukan pertanyaan bodoh seperti, "Mengapa Anda tidak menggunakan variabel lingkungan HOSTNAME melalui @ENV?" Sederhana: Karena itu tidak berfungsi untuk semua sistem yang saya coba.
Sekarang untuk bagian yang sangat keren. Ingat baris 3 dari penambahan .bash_profile?
Ini membuang hasil skrip trim.pl dalam wadah yang sama seperti sebelumnya, mencetak ke prompt perintah dan judul jendela, tapi kali ini menambahkan perintah yang baru saja Anda ketik! Inilah sebabnya mengapa Anda tidak ingin melakukan semua ini di .bashrc: skrip apa pun yang Anda jalankan (di komputer saya, man adalah salah satunya) akan memicu hal ini di setiap baris. hasil manusia menjadi kacau serius oleh apa yang kita lakukan di sini. Kami tidak benar-benar bermain baik dengan terminal.
Untuk mengambil perintah yang baru saja Anda ketik, kami mengambil sejarah bash dan memotongnya sedikit:
Jadi sekarang, saya memiliki bazillion windows dan mereka mengatakan hal-hal seperti:
castro: /home/ronb blog
Ron-D630: /C/ronb/rails/depot script/server
Ron-D630: /C/ronb/rails/depot mysql -u ron -p
Ron-D630: /C/ronb/rails/depot find . > /C/ronb/system.map
Ron-D630: /C/ronb/rails/depot vi app/views/cart.html.erb
Ron-D630: /C/perforce/depot/ p4 protect
Ron-D630: /C/perforce/depot/ p4 sync -f
Ron-D630: /C/perforce/depot/
Dari bilah kecil yang bahagia di bagian bawah layar, sekarang saya bisa tahu mana yang sekilas. Dan karena kami telah menetapkan PS1, segera setelah perintah selesai dijalankan, nama perintah diganti dengan hanya output dari trim.pl lagi.
UPDATE (hari yang sama): Hal-hal ini (entri .bash_profile) meletakkan semua jenis neraka pada saya ketika saya mencobanya di .bashrc saya. .Bashrc Anda dijalankan oleh skrip non-interaktif setiap kali Anda memanggil bash sebagai bahasa. Saya memukul ini ketika saya mencoba menggunakan pria. Semua jenis sampah (teks lengkap .bashrc saya, plus charecters melarikan diri) muncul di bagian atas halaman manual. Saya akan menyarankan untuk menguji permata ini dengan doa cepat 'man man' di baris perintah setelah Anda mengumpulkan semuanya.
Saya kira sudah waktunya bagi saya untuk mengeluarkan sampah kustom dari .bashrc saya dan meletakkannya di tempatnya ...
Secara paksa, saya menemukan diri saya mengetik 'man trap' pada satu titik dalam proses ini.
Di tempat kerja saya sebelumnya, jam kerja konyol. Itu adalah perusahaan perangkat lunak dan bos saya tersedot. Dia akan memberi kita pekerjaan tepat sekitar jam 5:30 sore (tepat ketika tiba waktunya untuk pulang) dan membuat kita menyelesaikan pekerjaan sampai jam 11 malam (melewati jam produktif ideal kita). Atau dia akan menemukan masalah yang mengganggu dalam kode yang masih dalam proses.
Jadi saya membuat file batch dan skrip yang akan mematikan komputer saya secara acak antara 19:00 dan 20:00. Itu memiliki timer 1 menit kalau-kalau saya akan tinggal setelah jam dan perlu membatalkan proses penutupan.
Tapi aku akan meninggalkan mejaku sebelum jam 17:00 sehingga dia tidak bisa menemukanku untuk menjagaku jika dia ingin membuang waktu di checkout. Jika dia datang ke meja saya dan melihat komputer saya menyala, dia akan berpikir saya masih di sekitar area dapur atau di minimart terdekat untuk mengambil beberapa chip atau sesuatu. Tetapi jika itu mati sekitar waktu itu, dia akan menelepon ponsel saya dan memberitahu saya untuk kembali ke kantor.
Saya juga menjadwalkan BIOS pada mesin saya untuk menghidupkan mesin saya sekitar 8:00 atau 9:00 jika saya merasa malas dan ingin berjalan-jalan di sekitar 10:00 atau 11:00. Jika saya ketahuan berjalan ke meja saya, dia akan bertanya "di mana Anda sepanjang pagi?" Dan saya akan berkata, "Saya sedang rapat dengan tim pemasaran." atau "Aku sedang keluar sarapan."
Saya dulu bekerja di sebuah kamp teknologi musim panas, dan kami harus menulis artikel ini untuk masing-masing anak dalam kelompok pada akhir minggu, yang kemudian akan mereka terima dan bawa pulang sebagai kenang-kenangan. Biasanya, ini terdiri dari banyak kalimat umum, dan satu hingga dua kalimat yang dipersonalisasi. Saya menulis skrip python yang membangun salah satu tulisan ini dari tumpukan kalimat kalengan, dan memungkinkan pengguna untuk menambahkan beberapa kalimat yang dipersonalisasi di tengah. Ini menghemat banyak waktu bagi saya dan para penasihat saya yang saya rahasiakan. Meskipun begitu banyak yang diotomatisasi, tulisan kami masih terlihat lebih baik daripada banyak yang 'jujur', karena kami dapat meluangkan lebih banyak waktu ke bagian-bagian yang dipersonalisasi.
#! /bin/bash
# check to see if site is up
# if it is, don't worry
# if it's down, restart apache after get a process listing
#
# v.1 Warren M Myers - initial stab
# 31 Aug 06
#
ERRCOD='7'
WHEN=`date +%d%b%y`
REPT="~/psaux.$WHEN.txt"
STARS='********************'
curl -I http://www.shodor.org > /var/tmp/curlret.txt
if [ "$?" = "$ERRCOD" ]; then
# return was unable to connect to host: save ps -aux; mail report
ps -aux > $REPT
echo $STARS
echo 'curl return results'
echo
cat curlret.txt
echo
echo $STARS
echo 'ps -aux results'
cat $REPT
echo
echo $STARS
echo 'restarting apache'
/etc/init.d/apache2 restart
echo 'apache restarted'
echo
echo "ps -aux results saved in $REPT"
fi
rm -f /var/tmp/curlret.txt
Saya menggunakan ini sebagai fungsi autoloaded. Saya cukup mengetik "mycd" dan daftar direktori muncul yang sering saya gunakan. Jika saya tahu maka nomor saya hanya bisa mengatakan sesuatu seperti "mycd 2". Untuk menambahkan direktori ke daftar Anda cukup ketik "mycd / tmp / foo / somedirectory".
function mycd {
MYCD=/tmp/mycd.txt
touch ${MYCD}
typeset -i x
typeset -i ITEM_NO
typeset -i i
x=0
if [[ -n "${1}" ]]; then
if [[ -d "${1}" ]]; then
print "${1}" >> ${MYCD}
sort -u ${MYCD} > ${MYCD}.tmp
mv ${MYCD}.tmp ${MYCD}
FOLDER=${1}
else
i=${1}
FOLDER=$(sed -n "${i}p" ${MYCD})
fi
fi
if [[ -z "${1}" ]]; then
print ""
cat ${MYCD} | while read f; do
x=$(expr ${x} + 1)
print "${x}. ${f}"
done
print "\nSelect #"
read ITEM_NO
FOLDER=$(sed -n "${ITEM_NO}p" ${MYCD})
fi
if [[ -d "${FOLDER}" ]]; then
cd ${FOLDER}
fi
}
Ketika saya menjalankan "mycd", saya mendapatkan: "-bash: print: command not found". Ketika saya menggunakan "mycd / folder /", itu tidak menambahkan apa pun ke /tmp/mycd.txt. Apakah saya memiliki beberapa pengaturan yang salah?
Léo Léopold Hertz 준영
Ah, ya, Anda mungkin ingin mengganti pernyataan 'cetak' dengan 'gema'. ;-)
wzzrd
@wzzrd Bagaimana memalukan;) Fungsi yang sangat keren, @Ethan Post. Terima kasih sudah berbagi!
Léo Léopold Hertz 준영
5
Saya suka menyimpan foto saya di direktori berdasarkan tanggal pengambilan gambar. Oleh karena itu saya menulis sebuah program yang akan memindai kartu memori untuk gambar, membuat folder pada hard disk saya yang perlu didasarkan pada tanggal gambar, lalu salin.
Ingin menambahkan skrip di sini? Saya akan menyukai fungsi ini, saya melakukan hal yang sama!
Firaun
Ini ac # app, bukan skrip yang saya khawatirkan.
Valerion
Apakah Anda menggunakan informasi exif yang disimpan dalam foto? Bisakah Anda membagikan skripnya?
JJD
5
Tulis skrip untuk mengklik tombol mulai saya, lalu klik lagi dalam setengah detik, dan ulangi setiap 30 detik.
Buat saya tetap ditandai Online saat bekerja, dan saya bisa menyelesaikan pekerjaan nyata di laptop pribadi saya tepat di sebelahnya. Tidak macet oleh perangkat lunak kerja.
Ha ha ha, barang bagus. +1 untuk kejujuran dan ketidakjujuran! :)
Kyle Walsh
4
Berbagai Pintasan untuk perintah "mulai bersih" dan "berhenti bersih" sehingga saya dapat memulai dan menghentikan layanan tanpa harus masuk ke Layanan MMC
Script shell untuk melakukan rotasi cadangan menggunakan rsync. Ini juga mendukung pelaksanaan program anak yang sewenang-wenang untuk mendukung kegiatan pra-cadangan lainnya (misalnya mengunduh bookmark yang lezat).
Aplikasi kecil yang meninggalkan klik (atau klik dua kali) setiap "X" ms untuk jumlah waktu "Y". Tidak perlu lagi burung peminum itu bekerja di pembangkit listrik tenaga nuklir! ;)
Jawaban:
o
Kunci saya jatuh di laptop saya; jadi saya menulis sebuah program yang menggantikan dua0
penekanan tombol dalam 200 MS satu sama lain sebagaio
, dua0
penekanan tombol dalam 700 MS satu sama lain sebagai0
dan mengabaikan sisanya; jadi saya bisa menggunakan laptop saya sebelum saya mengganti keyboard.Wow; Saya tidak tahu ini akan sangat populer: p
Adapun caranya - Microsoft memperlihatkan fitur API kecil yang menyenangkan yang disebut Hooks .
Menggunakan kait itu; Saya dapat menulis "filter" yang melakukan apa yang saya butuhkan (petunjuk: jika Anda kembali 1 dengan jendela panggilan balik Anda tidak akan memproses penekanan tombol).
Alasan saya tahu tentang ini sebenarnya bukan karena saya menulis keylogger - tetapi karena saya menulis program smiler untuk Synergy beberapa waktu yang lalu.
Dan ya. Saya memang menulis program lain yang menukar kunci alpha-numeric dengan kunci alpha-numeric acak dan ya; itu benar-benar lucu: D
sumber
Saya tidak memiliki kode lagi, tetapi mungkin skrip yang paling berguna yang saya tulis adalah, percaya atau tidak, di VBA. Saya memiliki kolega yang menyebalkan yang memiliki sekering pendek sehingga saya menyebutnya sebagai Cherry Bomb. Dia sering marah ketika pelanggan akan menelepon dan kemudian berdiri dan mulai mengomel saya di atas dinding bilik, membunuh produktivitas dan moral saya.
Saya selalu membuka Microsoft Excel. Ketika dia melakukan ini, saya akan alt-tab ke Excel dan di sana, pada bilah alat, adalah ikon baru dengan gambar bom ceri. Saya diam-diam akan mengklik itu ... dan tidak ada yang akan terjadi.
Namun, tak lama setelah itu saya akan menerima telepon dan mengatakan sesuatu seperti "yeah, yeah, itu kedengarannya buruk. Sebaiknya saya memeriksanya." Dan kemudian aku akan bangun, meminta maaf kepada Cherry Bomb dan pergi.
Apa yang terjadi adalah kami menggunakan NetWare dan memiliki sistem perpesanan primitif. Ketika saya mengklik tombol itu, skrip VBA kecil akan mengirimkan pesan NetWare kepada teman-teman saya, memberi tahu mereka bahwa Cherry Cherry sudah melakukannya lagi dan akankah mereka tolong hubungi saya Dia tidak pernah mengetahuinya :)
sumber
Sebuah bash script yang disebut up sehingga jika saya di
/a/very/deeply/nested/path/somewhere
dan saya ingin pergi "up" N direktori, saya bisa mengetik :up N
Sebagai contoh:
NB oleh gmatt:
Bekerja dari pekerjaan besar di atas, itu dapat diperluas ke fungsi kembali dengan menempatkan berikut ini di bashrc Anda:
sumber
back
metode, jadi setiap kali Anda menggunakan Anda dapat menggunakan kembali untuk dengan mudah bergerak maju dan mundur. Untuk menggunakannya, letakkan ini di bashrc Anda (maaf tentang pemformatan sial): berfungsi naik () {LIMIT = $ 1 P = $ PWD untuk ((i = 1; i <= LIMIT; i ++)) lakukan P = $ P / .. selesai cd $ P ekspor MPWD = $ P} berfungsi kembali () {LIMIT = $ 1 P = $ MPWD untuk ((i = 1; i <= LIMIT; i ++)) lakukan P = $ {P% / ..} selesai cd $ P export MPWD = $ P}Tombol reset super jarak jauh.
Rak perangkat keras simulasi yang sangat spesial (pada hari-hari ketika ruangan yang penuh dengan peti VME melakukan kurang dari GPU Anda) bahwa pengguna di sisi lain dunia akan crash pada jam-jam awal pagi. Butuh satu jam untuk masuk ke lab dan melalui keamanan.
Tetapi kami tidak diizinkan untuk terhubung ke pengontrol super khusus atau memodifikasi perangkat keras. Solusinya adalah workstation DEC tua dengan printer epson dot matrix, rekatkan penggaris plastik ke kenop umpan kertas, posisikan printer di dekat tombol reset.
Masuk ke WS sebagai pengguna biasa (root tidak diizinkan, semua port eksternal terkunci), cetak dokumen dengan garis 24blank - yang memutar kenop umpan kertas dan penggaris menekan reset pada perangkat keras super spesial .
sumber
Pada Windows XP, saya telah menetapkan pekerjaan AT untuk menjalankan perintah ini setiap hari di C: \
Ini mencantumkan path lengkap semua file pada drive C. Maka setiap kali saya perlu menemukan file, saya bisa menggunakan
findstr
. Ini berdetak menggunakan Pencarian Windows Explorer karena memungkinkan pencocokan ekspresi reguler di seluruh jalur. Sebagai contoh:Ini adalah solusi yang sangat cepat untuk diatur, dan hebat jika Anda menemukan diri Anda dengan menginstal Windows baru dan tidak ada koneksi internet.
Jika Anda perlu mencari di dalam tipe file tertentu untuk beberapa pola, pertama-tama daftarkan semua file yang perlu Anda periksa, kemudian cari di dalamnya. Misalnya, untuk menemukan program Java atau Python yang membalik gambar Anda bisa melakukan ini:
sumber
Saya memiliki skrip Python yang secara otomatis berjalan ketika saya mencolokkan kamera digital saya.
Ini menyalin semua gambar dari kartu di kamera, mencadangkannya, dan kemudian mengunggahnya ke Flickr.
Unggahan ke Flickr berasal dari uploadr.py (yang tidak bisa saya setujui untuk).
Berikut kode Python untuk membongkar kamera. Ini berulang melalui SRCDIR dan nama setiap gambar dengan tanggal & waktu sebelum menyalin gambar ke DESTDIR.
sumber
Beberapa tahun yang lalu saya menulis aplikasi winforms dengan bantuan api win32 untuk mengunci diri saya sepenuhnya dari komputer saya selama satu jam sehingga akan memaksa saya untuk pergi dan berolahraga. Karena saya malas? Tidak ... karena saya punya tujuan kebugaran pribadi. Terkadang Anda hanya perlu sedikit tendangan untuk memulai :)
sumber
Saya menulis skrip Python yang akan pergi ke semua komik web yang saya baca, dan mengunduh komik baru. Saya hanya menjalankannya sekali sehari, dan tidak perlu mengunjungi setiap situs satu per satu, cukup kunjungi / Komik / Folder. ;)
sumber
Skrip cadangan .cmd saya. Ini berjalan di server saya setiap malam, dan memberi nama file cadangan sesuai dengan hari kerja. Satu minggu penuh cadangan telah menyelamatkan saya (dan keluarga saya) berkali-kali:
sumber
"backup.sh" yang memecah isi direktori dan mengirimkannya ke akun gmail saya.
sumber
Saya menulis naskah yang akhirnya digunakan setiap hari di tim saya. Ketika saya dulu bekerja untuk Intel, kami memiliki aplikasi yang berbicara dengan basis data akses untuk mengambil setumpuk informasi register (saya bekerja pada memvalidasi chipset). Itu akan mengambil informasi ini (dari permintaan SQL) dan membuangnya ke file CSV, file HTML, dan file Excel. Seluruh proses memakan waktu hampir 2 jam. Tidak bercanda. Tidak tahu mengapa butuh waktu lama. Kami akan memulainya satu jam sebelum makan siang, pergi makan siang, dan kemudian kembali.
Saya pikir harus ada cara yang lebih baik untuk melakukan ini. Saya berbicara dengan tim yang mengelola database registri dan mendapatkan kode SQL dari mereka. Saya kemudian menulis skrip perl yang mengambil data dan menghasilkannya menjadi format CSV, HTML, dan Excel. Runtime? Sekitar 1-2 detik. Peningkatan kecepatan yang luar biasa.
Saya juga menulis beberapa naskah saat saya ditempatkan di Irak pada tahun 2006 (saya bertugas di Garda Nasional selama 9 tahun - keluar pada bulan Desember). Kami menggunakan aplikasi lama ini yang disebut ULLS-G (Unit Level Logistics System - Ground) yang ditulis dalam ADA dan awalnya dijalankan pada DOS. Mereka cukup meretasnya ke tempat itu akan berjalan pada Windows XP di shell perintah. Sistem ini tidak memiliki antarmuka mouse. Semuanya melalui keyboard dan tidak memiliki fungsi batch. Jadi katakanlah Anda ingin mencetak lisensi untuk semua operator kendaraan? Ya ... kami punya 150 tentara di unit kami jadi butuh waktu yang lama. Katakanlah semua orang mendapatkan kualifikasi pada kendaraan baru dan Anda ingin menambahkannya ke kualifikasi operator semua orang? Anda harus melakukannya satu per satu.
Saya dapat menemukan driver ODBC untuk database SAGE (apa yang digunakan ULLS-G) dan jadi saya menulis skrip perl yang dapat berbicara dengan database SAGE. Jadi hal-hal yang memakan waktu lebih dari satu jam, sekarang hanya butuh beberapa detik. Saya juga menggunakan skrip dan driver untuk melaporkan. Kami harus melaporkan semua informasi hingga ke batalion setiap pagi. Unit lain akan menulis informasi dengan tangan setiap pagi. Saya menyiapkan makro Excel yang berbicara menggunakan driver yang sama dan berbicara dengan database SAGE dan memperbarui spreadsheet Excel dengan cara itu. Ini adalah makro Excel yang paling rumit dan satu - satunya yang pernah saya tulis. Itu terbayar karena mereka memberi saya Medali Penghargaan Angkatan Darat. Jadi ya, saya mendapat medali di militer untuk menulis skrip perl :) Berapa banyak yang bisa mengatakan itu? ;)
sumber
Saya seorang pilot pribadi. Saya menulis beberapa skrip yang memperoleh informasi cuaca untuk bandara lokal dari aviationweather.gov. Mereka berguna untuk jawaban cepat untuk pertanyaan "Apakah hari ini hari yang baik untuk terbang?"
sumber
Skrip Greasemonkey yang menghapus komentar [*] yang jelas bodoh dari situs game Kotaku.com.
[*] Seperti yang diidentifikasi oleh kesalahan ejaan umum, penulisan lengkap, penggunaan berlebihan "LOL" dan heuristik serupa.
sumber
alias dir = 'ls -al' adalah skrip favorit saya.
sumber
Scraper HTML berulir untuk mengunduh semua subtitle yang tersedia untuk film seri / dari sebuah situs yang menyakitkan untuk digunakan (Anda harus mengklik seperti 4 kali setelah pencarian untuk sampai ke halaman unduh, hanya untuk menampilkan lebih banyak iklan). Sekarang saya tinggal memasukkan kriteria pencarian dan tekan unduh.
sumber
Skrip perl yang mengikis Craigslist lokal saya, berdasarkan kategori yang dipilih, ke SQL DB yang kemudian dapat saya tolak.
V2 ini memperbarui DB dengan timer dan mengingatkan saya jika saya memiliki kecocokan pada salah satu pertanyaan, pada dasarnya memberi saya agen latar belakang untuk CL.
sumber
Mengganti nama file secara massal melalui drag & drop.
Beberapa waktu yang lalu saya telah membuat VBScript kecil yang menerima RegEx dan menggantikan nama file yang sesuai. Anda cukup menjatuhkan banyak file atau folder di dalamnya. Saya menemukan itu sangat berguna sepanjang tahun.
gist.github.com/15824 (Hati-hati, komentarnya dalam bahasa Jerman)
sumber
Skrip Python Cepat dan Kotor yang mencari DNS untuk google.com setiap 5 detik dan berbunyi bip sekali jika berhasil dan dua kali jika gagal.
Saya menulis ini pada saat saya harus hidup dengan jaringan rumah yang sangat rapuh. Itu memungkinkan saya untuk langsung mengetahui keadaan jaringan bahkan ketika saya pertama kali berada di bawah meja di seberang ruangan dengan kedua tangan penuh dengan kabel jaringan dan senter di mulut saya.
sumber
Ini, dari posting di blog saya beberapa bulan yang lalu, telah berubah dari gagasan yang saya pikir keren untuk salah satu peretasan kecil terbaik yang saya batuk dalam memori baru-baru ini. Saya mengutipnya secara lengkap di sini:
==================
Saya menghabiskan banyak waktu di bash. Untuk yang belum tahu, bash adalah sistem yang akan Anda temukan di sebagian besar mesin unix dan, untungnya, beberapa jendela dan setiap Mac di luar sana. Pada blush on pertama, itu tidak lebih dari antarmuka baris perintah, dan karena itu dari radar sebagian besar pengguna yang melihat hal-hal seperti anakronisme yang mereka lebih suka lupa.
Saya melakukan hampir semuanya dalam bash. SAYA BACA EMAIL SAYA DARI LINE PERINTAH, itulah sebabnya saya menghindari email yang ditandai. Saya menavigasi direktori, mengedit file, terlibat dalam checkout dan pengiriman kode sumber harian saya, mencari file, mencari di dalam file, me-reboot mesin saya, dan bahkan kadang-kadang menelusuri halaman web dari baris perintah. bash adalah jantung dan jiwa dari keberadaan digital saya.
Masalahnya adalah saya cenderung memiliki sekitar 6 jendela terbuka pada suatu waktu. Di tempat kerja hari ini, saya punya satu yang menjalankan server web, yang lain mengutak-atik basis data saya, yang ketiga, keempat, dan kelima mengedit file yang berbeda, sementara yang keenam sedang mencari-cari di mesin saya mencoba untuk merekam nama-nama setiap file pada sistem. Mengapa? Karena itu berguna untuk dapat mencari melalui arsip seperti itu jika Anda ingin tahu di mana menemukan objek dengan nama file.
Ketika Anda melakukan ini, Anda berakhir dengan banyak jendela di bilah kontrol Anda dengan nama sederhana, "bash." Ini baik-baik saja jika Anda hanya memiliki satu dari mereka, tetapi penderitaannya ketika Anda memiliki 6 atau lebih .... dan dua lusin hal lain terjadi. Saya memiliki tiga monitor di bawah perintah simultan dari satu pasangan keyboard / mouse dan saya masih merasa perlu untuk lebih. Masing-masing windows memiliki beberapa terminal bash terbuka.
Jadi saya telah mencelupkan ini bersama. Pertama, tempatkan baris ini di .bash_profile Anda:
Saya telah meneliti dan menulis lusinan paragraf tentang bagaimana semua ini bekerja dan mengapa itu diatur sebagaimana mestinya, tetapi Anda tidak benar-benar tertarik. Percayalah kepadaku. Ada seluruh bab buku tentang mengapa saya melakukan "CMD =
...
; echo ..." di baris ketiga itu. Banyak orang (termasuk bluehost, tempat domain saya lainnya dihosting) masih menggunakan dan versi lama dari bash dengan bug utama dalam cara menangani jebakan, jadi kami terjebak dengan ini. Anda dapat menghapus CMD dan menggantinya dengan $ BASH_COMMAND jika Anda saat ini pada versi bash Anda dan merasa ingin melakukan penelitian.Bagaimanapun, skrip pertama yang saya gunakan ada di sini. Ini menciptakan prompt yang bagus yang berisi nama dan direktori mesin Anda, dipotong dengan panjang yang masuk akal:
Ada peringatan di bagian atas posting blog ini yang harus Anda baca sekarang sebelum mulai mengajukan pertanyaan bodoh seperti, "Mengapa Anda tidak menggunakan variabel lingkungan HOSTNAME melalui @ENV?" Sederhana: Karena itu tidak berfungsi untuk semua sistem yang saya coba.
Sekarang untuk bagian yang sangat keren. Ingat baris 3 dari penambahan .bash_profile?
Ini membuang hasil skrip trim.pl dalam wadah yang sama seperti sebelumnya, mencetak ke prompt perintah dan judul jendela, tapi kali ini menambahkan perintah yang baru saja Anda ketik! Inilah sebabnya mengapa Anda tidak ingin melakukan semua ini di .bashrc: skrip apa pun yang Anda jalankan (di komputer saya, man adalah salah satunya) akan memicu hal ini di setiap baris. hasil manusia menjadi kacau serius oleh apa yang kita lakukan di sini. Kami tidak benar-benar bermain baik dengan terminal.
Untuk mengambil perintah yang baru saja Anda ketik, kami mengambil sejarah bash dan memotongnya sedikit:
Jadi sekarang, saya memiliki bazillion windows dan mereka mengatakan hal-hal seperti:
Dari bilah kecil yang bahagia di bagian bawah layar, sekarang saya bisa tahu mana yang sekilas. Dan karena kami telah menetapkan PS1, segera setelah perintah selesai dijalankan, nama perintah diganti dengan hanya output dari trim.pl lagi.
UPDATE (hari yang sama): Hal-hal ini (entri .bash_profile) meletakkan semua jenis neraka pada saya ketika saya mencobanya di .bashrc saya. .Bashrc Anda dijalankan oleh skrip non-interaktif setiap kali Anda memanggil bash sebagai bahasa. Saya memukul ini ketika saya mencoba menggunakan pria. Semua jenis sampah (teks lengkap .bashrc saya, plus charecters melarikan diri) muncul di bagian atas halaman manual. Saya akan menyarankan untuk menguji permata ini dengan doa cepat 'man man' di baris perintah setelah Anda mengumpulkan semuanya.
Saya kira sudah waktunya bagi saya untuk mengeluarkan sampah kustom dari .bashrc saya dan meletakkannya di tempatnya ...
Secara paksa, saya menemukan diri saya mengetik 'man trap' pada satu titik dalam proses ini.
sumber
Di tempat kerja saya sebelumnya, jam kerja konyol. Itu adalah perusahaan perangkat lunak dan bos saya tersedot. Dia akan memberi kita pekerjaan tepat sekitar jam 5:30 sore (tepat ketika tiba waktunya untuk pulang) dan membuat kita menyelesaikan pekerjaan sampai jam 11 malam (melewati jam produktif ideal kita). Atau dia akan menemukan masalah yang mengganggu dalam kode yang masih dalam proses.
Jadi saya membuat file batch dan skrip yang akan mematikan komputer saya secara acak antara 19:00 dan 20:00. Itu memiliki timer 1 menit kalau-kalau saya akan tinggal setelah jam dan perlu membatalkan proses penutupan.
Tapi aku akan meninggalkan mejaku sebelum jam 17:00 sehingga dia tidak bisa menemukanku untuk menjagaku jika dia ingin membuang waktu di checkout. Jika dia datang ke meja saya dan melihat komputer saya menyala, dia akan berpikir saya masih di sekitar area dapur atau di minimart terdekat untuk mengambil beberapa chip atau sesuatu. Tetapi jika itu mati sekitar waktu itu, dia akan menelepon ponsel saya dan memberitahu saya untuk kembali ke kantor.
Saya juga menjadwalkan BIOS pada mesin saya untuk menghidupkan mesin saya sekitar 8:00 atau 9:00 jika saya merasa malas dan ingin berjalan-jalan di sekitar 10:00 atau 11:00. Jika saya ketahuan berjalan ke meja saya, dia akan bertanya "di mana Anda sepanjang pagi?" Dan saya akan berkata, "Saya sedang rapat dengan tim pemasaran." atau "Aku sedang keluar sarapan."
anjing bodoh
sumber
Saya dulu bekerja di sebuah kamp teknologi musim panas, dan kami harus menulis artikel ini untuk masing-masing anak dalam kelompok pada akhir minggu, yang kemudian akan mereka terima dan bawa pulang sebagai kenang-kenangan. Biasanya, ini terdiri dari banyak kalimat umum, dan satu hingga dua kalimat yang dipersonalisasi. Saya menulis skrip python yang membangun salah satu tulisan ini dari tumpukan kalimat kalengan, dan memungkinkan pengguna untuk menambahkan beberapa kalimat yang dipersonalisasi di tengah. Ini menghemat banyak waktu bagi saya dan para penasihat saya yang saya rahasiakan. Meskipun begitu banyak yang diotomatisasi, tulisan kami masih terlihat lebih baik daripada banyak yang 'jujur', karena kami dapat meluangkan lebih banyak waktu ke bagian-bagian yang dipersonalisasi.
sumber
sumber
Skrip Greasemonkey untuk menambahkan kotak kontrol "tekan tombol itu banyak" ke game online.
sumber
Sebuah skrip kecil yang memantau beberapa situs web populer untuk iklan yang sesuai dengan keahlian saya dan mengirimi saya email email.
sumber
Saya menggunakan ini sebagai fungsi autoloaded. Saya cukup mengetik "mycd" dan daftar direktori muncul yang sering saya gunakan. Jika saya tahu maka nomor saya hanya bisa mengatakan sesuatu seperti "mycd 2". Untuk menambahkan direktori ke daftar Anda cukup ketik "mycd / tmp / foo / somedirectory".
sumber
Saya suka menyimpan foto saya di direktori berdasarkan tanggal pengambilan gambar. Oleh karena itu saya menulis sebuah program yang akan memindai kartu memori untuk gambar, membuat folder pada hard disk saya yang perlu didasarkan pada tanggal gambar, lalu salin.
sumber
Tulis skrip untuk mengklik tombol mulai saya, lalu klik lagi dalam setengah detik, dan ulangi setiap 30 detik.
Buat saya tetap ditandai Online saat bekerja, dan saya bisa menyelesaikan pekerjaan nyata di laptop pribadi saya tepat di sebelahnya. Tidak macet oleh perangkat lunak kerja.
Jangan bilang bos :)
sumber
Berbagai Pintasan untuk perintah "mulai bersih" dan "berhenti bersih" sehingga saya dapat memulai dan menghentikan layanan tanpa harus masuk ke Layanan MMC
sumber
Script shell untuk melakukan rotasi cadangan menggunakan rsync. Ini juga mendukung pelaksanaan program anak yang sewenang-wenang untuk mendukung kegiatan pra-cadangan lainnya (misalnya mengunduh bookmark yang lezat).
http://gist.github.com/6806
sumber
Aplikasi kecil yang meninggalkan klik (atau klik dua kali) setiap "X" ms untuk jumlah waktu "Y". Tidak perlu lagi burung peminum itu bekerja di pembangkit listrik tenaga nuklir! ;)
sumber