フラグ付きのコマンドの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。