Linux Bash コマンド ラインで利用可能な 5 つの標準補完
Linux では、デフォルトで、Bash はユーザーがコマンド ラインで使用できる次の標準補完を提供します。
<オール>
1.変数名の補完
ターミナルで $ を入力した後、タブを 2 回押すと、以下に示すように、使用可能なすべてのシェル変数が表示されます。
$ echo $[TAB][TAB] $_ $COMP_POINT $HOSTTYPE $PS1 $_backup_glob $COMPREPLY $IFS $PS2 $BASH $COMP_TYPE $inx $PS4 $BASH_ALIASES $COMP_WORDBREAKS $LANG $PWD $BASH_ARGC $COMP_WORDS $LANGUAGE $RANDOM $BASH_ARGV $cur $LESSCLOSE $redir $BASH_CMDS $cword $LESSOPEN $SECONDS $BASH_COMMAND $DIRSTACK $LINENO $SHELL $BASH_COMPLETION_COMPAT_DIR $DISPLAY $LINES $SHELLOPTS $BASH_LINENO $errx $LOGNAME $SHLVL $BASHOPTS $EUID $LS_COLORS $split $BASHPID $exclude $MACHTYPE $SUDO_COMMAND $BASH_REMATCH $flag $MAIL $SUDO_GID $BASH_SOURCE $FUNCNAME $MAILCHECK $SUDO_UID $BASH_SUBSHELL $GROUPS $OLDPWD $SUDO_USER $BASH_VERSINFO $__grub_script_check_program $OPTERR $suffix $BASH_VERSION $HISTCMD $OPTIND $TERM $__colormgr_commandlist $HISTCONTROL $OSTYPE $UID $COLORTERM $HISTFILE $outx $USER $COLUMNS $HISTFILESIZE $PATH $USERNAME $COMP_CWORD $HISTSIZE $PIPESTATUS $words $COMP_KEY $HOME $PPID $XAUTHORITY $COMP_LINE $HOSTNAME $prev $_xspecs
2.ユーザー名の完成
チルダ (~) の後にタブを 2 回押すと、bash は自動的にユーザー名の補完を開始します。
$ cd ~[TAB][TAB] ~bala/ ~raj/ ~jason/ ~randy/ ~john/ ~ritu/ ~mayla/ ~thomas/ ~nisha/ ~www-data
これは、ホーム ディレクトリからユーザー名を取得しないことに注意してください。代わりに、/etc/passwd ファイルから利用可能なすべてのユーザー名を表示します
3.実行可能ファイルのパス名補完
コマンドを実行しようとしているときに、実行可能ファイルに実行権限があれば、以下の例に示すように 1 つの一致が見つかった場合、コマンドは自動的に完了します。
$ ls -l /etc/init.d/reboot -rwxr-xr-x 1 root root 639 Jan 30 2013 /etc/init.d/reboot $ /etc/init.d/reb[TAB][TAB] $ /etc/init.d/reboot
複数の一致が見つかった場合、使用可能なコマンドが表示されます。
<センター> センター>4.ファイル名とディレクトリの補完
この補完は、コマンド ラインの 2 番目以降の位置にあるファイル名とディレクトリ名用です。上記の例とは異なり、これはパーミッションをチェックせず、利用可能なすべてのファイルとディレクトリを表示するだけです。
$ ls countfiles.sh dir1 dir2 dir3 $ cat [TAB][TAB] countfiles.sh dir1 dir2 dir3 $ cat c[TAB][TAB] $ cat countfiles.sh
また、表示するファイルが多数ある場合、すべての可能性を画面に表示する代わりに、非常に混乱する可能性があるため、次の警告メッセージが表示されます。
$ ls -l /etc/ Display all 228 possibilities? (y or n)
5.ホスト名の補完
接続先のホスト名を取得するには、以下に示すように @ 記号の後にタブを 2 回押します。
$ ssh john@[TAB][TAB] @dev-db @fileserver @qa-server @prod-db @localhost @web-server
このホスト名補完機能は、ホスト名に @ を指定できる任意のコマンドと一緒に使用できます。たとえば、以下に示すように scp でもこれを使用できます。
$ scp filename.txt john@[TAB][TAB] @dev-db @fileserver @qa-server @prod-db @localhost @web-server
これにより、利用可能なホスト名が /etc/hosts ファイルから取得されることに注意してください。
-
Linuxで効果的なBashスクリプトを作成するための10の便利なヒント
シェルスクリプトは、Linuxで学習/実行できるプログラミングの最も簡単な形式です。さらに言えば、タスクを自動化し、ほんの数例を挙げると、新しいシンプルなユーティリティ/ツールを開発するためのシステム管理に必要なスキルです。 この記事では、効果的で信頼性の高いbashスクリプトを作成するための10の便利で実用的なヒントを紹介します。これらには、次のものが含まれます。 1。スクリプトでは常にコメントを使用する これは、シェルスクリプトだけでなく、他のすべての種類のプログラミングにも適用される推奨される方法です。スクリプトにコメントを書くと、あなたや他の誰かがスクリプトを読んで、スクリプトのさ
-
Bashを楽しい方法で学ぶための3つのコマンドラインゲーム
学習は大変な仕事であり、誰も仕事が好きではありません。つまり、Bashを習得するのがどれほど簡単であっても、それでもあなたにとっては仕事のように感じるかもしれません。もちろん、ゲームを通して学ばない限り。 Bashターミナルの使い方を教えるゲームがたくさんあるとは思わないでしょうし、あなたは正しいでしょう。真面目なPCゲーマーは、Falloutシリーズがボールトに端末ベースのコンピューターを備えていることを知っています。これは、テキストを介してコンピューターとやり取りするという考えを正常化するのに役立ちますが、AlpineやEmacsのようなアプリケーションを備えているにもかかわらず、Fal