本当に混乱しますね...
現在、Debian 8 コンピューターを所有しており、PuTTY (SSH) を使用して接続しています。
使用されるデフォルトのコンソールは Bash です。
エイリアスにパスを渡そうとすると、次のエラーが発生します。
-bash: /: Is a directory
次に例を示します。
また、奇妙な動作もあります。 または を実行する'/'
と、"/"
Bash が引用符を無視しているかのように同じエラーが発生します。
重要な場合、エイリアスはexplorer
次のように定義されます。
alias explorer='pcmanfm 1>/dev/null 2>&1 &'
これは想定された動作ですか?
そうでない場合、何が間違っているのでしょうか?
答え1
エイリアスを書いた方法により、実行するコマンドは次のように展開されます。
pcmanfm 1>/dev/null 2>&1 & '/'
pcmanfm
これはバックグラウンドジョブとしてオプションなしで実行され、それから/
コマンドとして実行してみます。
おそらくエイリアスではなく関数が必要でしょう
explorer() { pcmanfm "$@" >/dev/null 2>&1 & }
答え2
エイリアスは文字通りの展開を提供する。したがって、実行はexplorer /
次のようにマップされる。
pcmanfm 1>/dev/null 2>&1 & /
これはpcmanfm
バックグラウンドで実行され、その後すぐに/
フォアグラウンドで実行されます。