バックグラウンドジョブを強制終了するよりコンパクトな形式は次のとおりですか? for i in {1..5}; do kill %$i; done また、{1..5}には明らかにハードコードされたマジックナンバーがあります。どうすればNを正しい番号にして「N」にすることができますか。 $(jobs | wc -l) 実際にPS1で\ jを使用して管理対象ジョブの数を取得しますが、これは同等ですか?
スクリプティングに「最初の世界の問題」がある場合、これがそれです。 更新するスクリプトに次のコードがあります。 if [ $diffLines -eq 1 ]; then dateLastChanged=$(stat --format '%y' /.bbdata | awk '{print $1" "$2}' | sed 's/\.[0-9]*//g') mailx -r "Systems and Operations <sysadmin@[redacted].edu>" -s "Warning Stale BB Data" jadavis6@[redacted].edu <<EOI Last Change: $dateLastChanged This is an automated warning of stale data for the UNC-G Blackboard Snapshot …
私のArchインストールで/etc/bash.bashrc、/etc/skel/.bashrc次の行が含まれています。 # If not running interactively, don't do anything [[ $- != *i* ]] && return Debianに/etc/bash.bashrcは、次のものがあります。 # If not running interactively, don't do anything [ -z "$PS1" ] && return そして/etc/skel/.bashrc: # If not running interactively, don't do anything case $- in *i*) ;; *) return;; esac man bashただし、によると、非対話型シェルはこれらのファイルも読み取りません。 …
のようなコマンドmv foo* ~/bar/は、一致するファイルがない場合、stderrでこのメッセージを生成しますfoo*。 mv: cannot stat `foo*': No such file or directory ただし、このケースで作業しているスクリプトでは、まったく問題ないので、ログからそのメッセージを省略したいと思います。 mv何も動かされなかったとしても静かに言う良い方法はありますか?
私はcontrol+rコマンド履歴を再帰的に検索するために使用することを本当に楽しんでいます。私はそれで使用したいいくつかの良いオプションを見つけました: # ignore duplicate commands, ignore commands starting with a space export HISTCONTROL=erasedups:ignorespace # keep the last 5000 entries export HISTSIZE=5000 # append to the history instead of overwriting (good for multiple connections) shopt -s histappend 私にとって唯一の問題は、erasedups連続した重複のみを消去することです-そのため、この一連のコマンドでは: ls cd ~ ls lsコマンドは、実際には2回記録されます。私は定期的にw / cronを実行することを考えました: cat .bash_history | sort | uniq …