Linux備忘録(番外1):キックスタート、シェル
備忘録、単純な作業ミス、誤認識もあるかもしれません。取り扱いご注意ください。
実行環境:RedHat V.7.6
1【キックスタートインストール】
UEFIインストール時、POST後、grubのメニューが表示されず、特定ksファイルでインストールが進んでしまう。
⇒grub.cfgのタイムアウトパラメータ[set timeout=]を0に設定していたのが原因。タイムアウト時間を3000(5時間)に変更して、メニューが表示
2【シェル上のsedで置き換えが実施されない】
下記のようにスクリプト式の検索文字列をクォートで囲んでいたのが原因
⇒以下、間違っていた例
sed -e 's/”{文字列1}”/”{文字列2}"/' [ファイル名]
3【変数に格納したコマンドが実行されない】
以下のようなテキストをreadコマンドで読み込んで、連続でコマンド実行する。
ls -l
echo "#### OK ####"
echo "#### NG ####"
サンプルシェルは以下
#!/bin/bash
cmd_action(){ ←#コマンドを実行する関数
${C_LIST}
}cat [上記テキストファイル] | while read C_LIST
do
cmd_action
done
⇒この時、関数内の変数${C_LIST}を””(クォート)で囲んだところ、『ls -l: コマンドが見つかりません』でエラーとなった。
4【リストでコマンド実行した時にパイプが機能しない】
上記のような方法で以下の”|”を使用してのパスワード設定コマンドがうまくいかない。
# echo [パスワード] | passwd --stdin [ユーザ名]
⇒echo 以降がすべてただの文字列として実行されていたのが原因。実行ステータスも『0』となっていた。
#こんな感じの内容が標準出力されただけのため、パスワードが設定されていなかった。
[パスワード] | passwd --stdin [ユーザ名]