argsエイリアスを使用するか、複雑なbashコマンドを傍受します。

argsエイリアスを使用するか、複雑なbashコマンドを傍受します。

フラグ付きのコマンドのbashエイリアスを作成するには?たとえば、を実行した場合は、ls -l別名をとして指定したいと思いますls -a

これはうまくいきません: alias "ls -l"="ls -a"

別の例:と入力すると、reboot now単に実行したいと思いますreboot

ここでbash機能は役に立ちますか?


編集:愚かな、ls -l例えば申し訳ありません。これが私が本当に欲しいものです。を実行すると、reboot now実際に実行したいと思いますrebootだから。

答え1

別の例:と入力すると、reboot now単に実行したいと思いますreboot

関数を生成します。

reboot() {
  command reboot
}

今コマンドを呼び出すと、reboot関数が呼び出され、渡されたすべてのreboot引数は無視されます。

それは:

reboot

そして

reboot now

rebootパラメータなしでコマンドを実行します。

答え2

エイリアスを指定する必要がありますls

alias ls='ls -a'

後でls -lこれを行うと結果が出ます。 ls -la

答え3

これが私が本当に欲しいものです。を実行すると、reboot now実際に実行したいと思いますreboot

の絶対パスを探しますreboot(例:via whereis reboot)。この前に$ PATHにあることを確認してください/usr/local/bin(すでに存在する可能性があります)。1次/usr/local/sbin/rebootのようにファイルを作成します。

#!/bin/sh

reboot

ルートと所有する必要がありますchmod 755 /usr/local/bin/reboot。これから基本

reboot whatever, blah-blah 

パラメータなしで単に呼び出されますreboot

1. そうでない場合は、以下を参照してください。このQ&A

関連情報