CentOS 7.4には、ユーザーが変数を入力し、入力した内容が実際に正しいことを確認できる次の行を含むbashスクリプトがあります。
read -p "Enter the name of the database: " dbname
echo "You entered: $dbname"
read -p "Is that correct? Enter y or n: " confirm && [[ $confirm == [yY] || $confirm == [yY][eE][sS] ]] || exit 1
コマンドプロンプトアプリを使用してWindows 10からCentOSマシンにSSHでスクリプトを実行すると、変数を入力するときに文字を間違えて入力することがあり、バックスペースが必要になります。ただし、バックスペースを使用しようとすると、コマンドプロンプトアプリが単に入力し^H
ます。
この設定のバックスペースが実際に機能するように、スクリプトを変更するか、CentOSまたはWindowsのどこかで設定を変更するにはどうすればよいですか?
スクリプトの先頭に正しいプレフィックス(#!/ bin / bash)があることを確認していますか?またはそれをどのように実行しますか?話している動作は、shやkshなどの別のシェルでスクリプトを実行しているように見えるためです。
—
オリビエルグ
(centOSユーザーのデフォルトシェルをデフォルトのシェル(おそらくksh?)ではなく/ bin / bashに変更しようとすることもできますが、正しいコマンド&ヘッダーを使用してスクリプトを実行すると仮定すると、影響
—
オリビエル
@oliviergうん
—
user260467
#!/bin/bash
、一番上にあります。Windowsコマンドプロンプトを使用してSSHで接続します。私の知る限り、CentOSボックスには他のシェルはインストールされていません。bash自体に指定されたWindowsコマンドプロンプトを何らかの形でセットアップする必要がある可能性はありますか?
@olivierg
—
user260467
ksh
はCentOSのデフォルトbash
です。
@olivierg私はここからチェックしunix.stackexchange.com/a/76440/144794と私のデフォルトはすでに確かです
—
user260467
/bin/bash
。とにかく、スクリプトでも指定します。