1
#!/bin/sh

echo "VG: "
read VG
echo "LP: "
read LP
echo "SAP: "
read SAP
echo "NUM: "
read NUM
echo "SID: "
read SID


while [[ $NUM -lt 2 ]]; read VG LP SAP NUM SID ; do

mklv   -y   $SAP$NUM   -t   jfs2   -e   x   $VG   $LP;

crfs   -v   jfs2   -d   /dev/$SAP$NUM   -m   /oracle/$SID/$SAP$NUM  -A   yes   -p   rw -a   log=INLINE    -a   options=cio;

NUM=$((NUM+1)) OR (( NUM++ ))

done

AIX上にpriyank1、priyank2などのファイルシステムを作成したい...

VG はボリューム グループ名、LP は FS の論理パーティション/サイズ、SAP は「priyank」という名前、SID は /oracle の下のディレクトリです。

さらに詳細が必要な場合はお知らせください。上記のスクリプトが機能しないのを助けてください...コマンドの実行中に変数を正しく読み取っていません。

また、2 つの変数をまとめて $SAP$NUM に配置しましたが、これは問題になりますか?

よろしく、プリヤンク

4

2 に答える 2

0

Bourne シェルで BASH シェル セマンティクスを使用しています。最初の行を次のように変更します。

#!/bin/bash

whileまたはBourne 構文を使用するようにステートメントを変更します。

while [ $NUM -lt 2 ]; do
    read VG LP SAP NUM SID
    mklv -y $SAP$NUM -t jfs2 -e x $VG $LP
    .
    .
    .
    done

[[ expression ]]and構文は(( expression ))、Bourne シェル (/bin/sh) には存在しません。Bourne シェルを使い続ける場合は、ループ カウンターのインクリメントをリファクタリングする必要があります。

于 2013-09-23T23:37:23.500 に答える