Saya sering tidak sengaja melakukan ls pada file, ketika saya bermaksud melakukan lebih sedikit.
Apakah ada cara untuk membuat alias, atau fungsi, yang akan melakukan ls pada direktori, dan lebih sedikit pada file.
Saya sering tidak sengaja melakukan ls pada file, ketika saya bermaksud melakukan lebih sedikit.
Apakah ada cara untuk membuat alias, atau fungsi, yang akan melakukan ls pada direktori, dan lebih sedikit pada file.
Jawaban:
Hal dasar yang Anda inginkan mungkin terlihat seperti ini:
function my_less()
{
obj=$1
shift
test -d $obj && ls $obj $@
test -f $obj && less $obj $@
}
Kemudian
my_less thing
akan melakukan lsatau lesstergantung pada jenisnya.
The obj=$1diperebutkan argumen pertama ke fungsi. The shiftpergeseran argumen yang tersisa "ke kiri" dan $@adalah daftar argumen saat ini.
Jika Anda ingin memiliki beberapa pemrosesan sakelar yang belum sempurna, Anda dapat memperluas fungsi ini seperti ini:
function my_less()
{
switches=
obj=
while true
do
case $1 in
-*)
switches="$switches $1"
shift
;;
*)
obj=$1
shift
break
;;
esac
done
test -d $obj && ls $switches $obj $@
test -f $obj && less $switches $obj $@
}
Ini akan mengumpulkan semua sakelar utama dan disetel objke sakelar non-sakelar pertama. Ini, akan sering melakukan hal yang salah, tetapi itu hanya saran untuk langkah selanjutnya.