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 [ユーザ名]