なぜそうです!シェルスクリプトに使用される文字

なぜそうです!シェルスクリプトに使用される文字

!私は最近、シェルスクリプトで文字列配列をレコード区切り文字として使用しようとしている状況に直面しました。シェルスクリプトでこれを使用すると、スクリプトは自動的に拡張されます。この状況を再現する例は次のとおりです。

check_variable="Hello"
echo "$check_variable"
Output: Hello
###For multiple strings, I tried to concatenate with ! as a record separator. 
echo "$check_variable !"
Output: echo "$check " > Results.txt

!ちょっとした調査の後、私はこれが実際には特殊文字なので、レコード区切り文字として使用しないでください。では、なぜ!使用するのですか?この!役割をオフにしてシェルスクリプトで使用できる方法はありますか?

ベストアンサー1

!実際にfromを使用する理由の良い説明があります。ここ。コマンドをより明確に理解するために、次のコマンドを実行しました。

pwd- It gives the present working directory.
!pwd - It executes the previously executed pwd command.

!rmこの設定は、ユーザーが誤って実行して前例のない結果をもたらす可能性があるため、危険です。

ペルソナの効果をテストする別の方法は!次のとおりです。

echo "12345647" >> ramesh.txt
cat ramesh.txt
12345647
!echo
cat ramesh.txt
12345647
12345647

!echo次の行が追加され、コマンドが実際に実行されていることがわかります。1234567ファイルとして。

特殊文字をスクリプトのファイル区切り文字またはレコード区切り文字として使用することはお勧めできませんが、次のコマンドを実行するとこの設定を上書きできます。

set -H turns it on; 
set +H turns it off.

おすすめ記事