いくつか宣言したいです。非環境変数その後、直接印刷してください。
たとえば、
read domain &&
web_application_root="${HOME}/www" &&
domain_dir="${web_application_root}/${domain}/public_html" &&
&&
最後の3つの変数宣言の出力を印刷するには、3番目のコマンドの後にどのコマンドを使用する必要がありますか?
印刷物の目的は、読みやすいように、3つのコマンドの出力を1つの場所に順番に、おそらくテーブルと同じようにきれいに表示することです(set -x
追跡よりはるかに快適です)。
答え1
これを行う関数を定義できます。ここではbash機能を使用しています。別のシェルを使用している場合は、それを調整する必要があります。
printVariables() {
local maxLen=0
# Figure out the length of the longest variable name
for i; do
if ((${#i} > maxLen)); then
maxLen=${#i}
fi
done
# Make room for the colon
maxLen=$((maxLen + 1))
# Print the named variables
for i; do
printf "%-${maxLen}s %s\n" "${i}:" "${!i}"
done
}
それから:
$ read domain &&
web_application_root="${HOME}/www" &&
domain_dir="${web_application_root}/${domain}/public_html" &&
printVariables domain web_application_root domain_dir
example.com
次の出力が生成されます。
domain: example.com
web_application_root: /home/user/www
domain_dir: /home/user/www/example.com/public_html