psコマンドの出力をファイルに出力し、そのファイルを使用してラジオリストを作成しようとしています。これまで私は問題を抱えています。コマンドを実行する代わりに変数に保存する
これまでのところ、しばらくは2つの変数に列を分割しませ読み取りん($pid
が全体のラインで、
$command
が空白です)が、私はこれを実行しようとすると、スクリプトのようにラインを実行しようとしているだけでなく、
eval "ps -o pid,command">/tmp/process$$
more /tmp/process$$
sed -e '1d' /tmp/process$$ > /tmp/process2$$
while IFS= read -r pid command
do
msgboxlist="$msgboxlist" $($pid) $($command) "off"
done</tmp/process2$$
height=`wc -l "/tmp/process$$" | awk '{print $1}'`
width=`wc --max-line-length "/tmp/process$$" | awk '{print $1}'`
echo $height $width
dialog \
--title "Directory Listing" \
--radiolist "Select process to terminate" "$msgboxlist" $(($height+7)) $(($width+4))
コマンド。たとえば:
+ read -r pid command
++ 7934 bash -x assessment.ba
assessment.ba: line 322: 7934: command not found
+ msgboxlist=
+ off
assessment.ba: line 322: off: command not found
は基本的に私は、私は引用符、二重引用符やバックスラッシュを置くことになってる見当がつかない。それは私を野生に追いやっている。
tl; drコマンドを実行せずに変数に保存する方法は?
[してください](http://mywiki.wooledge.org/BashFAQ/048)[検討](http://mywiki.wooledge.org/ProcessManagement)あなたがしていること(http:// www .grymoire.com/Unix/Quote.html)。そのコードは恐ろしいです! [Code Review](http://codereview.stackexchange.com/)に投稿したいかもしれません。 – l0b0