GNU/Linux >> Linux の 問題 >  >> Ubuntu

最初のBashスクリプトを作成すると、Cdコマンドを「固定」できませんか?

この質問にはすでに回答があります :cdとlsのエイリアスを作成するにはどうすればよいですか?

(6つの回答)
6年前に閉鎖されました。

最初のbashスクリプトでは、本当に迷惑なものを作成したいと思います。フォルダを切り替えるときに、そのフォルダの内容が自動的に削除されるようにしたいのです。次のコードを〜/ .bashrcに追加してみました:

alias go='cd; ls'

簡単だと思いました!そうではありません。 go /etcと入力している間 確かに/etcの内容がリストされていますが、作業ディレクトリは実際には変更されていません。以前のディレクトリに残っています。どうすればこれを修正できますか?

承認された回答:

あなたの例では、go /etc cd; ls /etc 。つまり、最初にcd 現在のディレクトリをホームディレクトリに変更します。次に、ls /etc /etcの内容を表示します 。

次のように関数を定義することで、目的を達成できます。

function go() {
    cd "$1" && ls
}

または、コマンドラインに1行で入力するだけです:

function go() { cd "$1" && ls; }

次に、go /etc あなたが望むことをします。

$1 この例では、コマンドに渡される最初のパラメーターを参照します/etc$2で後続のパラメータを参照できます 、$3 など。


Ubuntu
  1. Linuxは複数の連続したパスセパレーター(/ home //// username /// file)をどのように処理しますか?

  2. 〜/ .profile、〜/ .bashrc、〜/ .bash_profile、〜/ .gnomerc、/ etc / bash_bashrc、/ etc / screenrcの違い…?

  3. Bash Echoコマンドライン自体で実行されるコマンドライン(スクリプトではない)?

  1. コマンドラインに入力を自動的に入力しますか?

  2. コマンド履歴に最初の75行が欠落しているようですか?

  3. Ubuntu 14.04「エントリーファイルで再生Uriを取得しませんでした:/// *」?

  1. / etc / motdはどのように更新されますか?

  2. Bashコマンドの最初の単語をすばやく変更するには?

  3. /etc/issues をセットアップして eth0 の IP アドレスを表示する方法