実行する必要があるすべてのプロセスをスクリプト化するよりも、コマンドをテキストファイルに保存してからコピーしてコマンドラインに貼り付けることをお勧めします。もちろん、コマンドを貼り付けて実行するたびに、コマンドのいくつかの詳細が変更されます。その後、コマンド矢印で重要な部分を変更する必要があります。だから私はこのようなことをしたいと思います。
簡単な例を見てください:
chmod $1 /home/$2/.bashrc 740 bobsa
これを行う方法はありますか?xargs
これを行うために使用できるものはありますか?これを達成するために、コマンドを実行する前に変数を設定できることを知っていますが、ENV
他の点で最終的に完了できることを願っています。ありがとうございます!
答え1
よく使うコマンドがある場合は、それを関数として作成し、シェルの起動ファイルに保存します.bashrc
。たとえば、次のように定義できます(より良い名前が必要な場合があります)。
f() {
chmod "$1" "/home/$2/.bashrc"
}
そして電話した
f 740 bobsa
コマンドラインでコマンドを頻繁に編集する必要がある場合、これはあまり効率的ではありません。ただし、そのような場合でも、同じコマンドラインに関数定義を配置してすぐに実行できます。
f() { chmod "$1" "/home/$2/.bashrc"; }; f 740 bobsa
スペースとセミコロンが必要{}
ですが、スペースとセミコロンを使用することもできます()
。彼らはサブシェルを始めますが、おそらく気に入らないでしょう。
f() (chmod "$1" "/home/$2/.bashrc"); f 740 bobsa
答え2
次のフラグでbash
コマンドを使用できます-c
。
bash -c 'chmod "$1" /home/"$2"/.bashrc' bash 740 bobsa
Bashコマンドには一重引用符を使用する必要があります。