bourne-shell

実行可能ファイルが見つからない場合、「which」の実装は「no」を出力しますか?
bourne-shell

実行可能ファイルが見つからない場合、「which」の実装は「no」を出力しますか?

私が読んでいるBourneシェル用に作成されたMavenラッパーのソースコード。私は次の内容を見つけました。 if [ -z "$JAVA_HOME" ]; then javaExecutable="$(which javac)" if [ -n "$javaExecutable" ] && ! [ "$(expr "$javaExecutable" : '\([^ ]*\)')" = "no" ]; then # snip exprarg1andと一緒に使用すると、arg2aは正規表現と一致します:。通常、結果は一致する文...

Admin

Bourne Shellとzshで変更されずに動作する変数の単語や行を繰り返す「for」構文はありますか?
bourne-shell

Bourne Shellとzshで変更されずに動作する変数の単語や行を繰り返す「for」構文はありますか?

コマンドでは、1行に1つずつ繰り返したい文字列のリストを含む変数がありますfor...in...do...done。 Bourne Shellとzshを頻繁に切り替えます。私が知っている限り、zshはデフォルトでBernシェルから改行やスペースで文字列から単語を分離しません。したがって、zshなどのコマンドfor list_item in $list; do...は失敗しますが、bourneシェルでは機能するか、変数の代わりにリテラルテキストを使用できます。コマンドで変数を使用して参照しようとしましたが、IFS=進歩がないようです。 簡単に実装できるように、...

Admin

.shrcと.profileの違いは何ですか?
bourne-shell

.shrcと.profileの違いは何ですか?

私はFreeBSDでBourneシェルを試してみたかったので、それを使用するための設定を始めました。 私は.shrcプロンプトを設定し、viモードを有効にし、いくつかのエイリアスを設定し、いくつかの変数をエクスポートしました。 しかし、.profileいくつかの変数もデフォルトでエクスポートされることがわかりました。 私が理解したのは、Bourneシェルが.profile起動するたびにソースコードを取得することです。それでは、.shrcと両方がある(歴史的)理由は何ですか.profile? ...

Admin

BashとBourne Shellからコマンドアクションをエクスポートする
bourne-shell

BashとBourne Shellからコマンドアクションをエクスポートする

bash v3.2(最新バージョンでも動作すると思いますが): 3.7.4 環境セクションのマニュアルには次のように記載されています。 呼び出されると、シェルは環境をスキャンし、見つかった各名前の引数を生成して自動的に子プロセスにエクスポートできるようにします。 後で付録B Bourne Shellとの主な違いから、マニュアルには次のように記載されています。 シェルの初期環境の変数は自動的に子プロセスにエクスポートされます。 Bourneシェルは通常、エクスポートコマンドを使用して変数を明示的に表示しない限り、この操作は行いません。 これが何を意味す...

Admin

Bourne Shellに正規表現バリデータがありますか?
bourne-shell

Bourne Shellに正規表現バリデータがありますか?

クローズドネットワーク(つまりインターネットに接続されていない)を使用しています。 ユーザーにgrep -P。 一般的に、私は何らかの形で入力検証を好みます。 (有効な)正規表現であることを確認するために文字列変数をテストする方法はありますか? (インターネットから自分のシステムにコンテンツをコピーすることは可能ですが、時間がかかり、PITAなので、ローカルで行う方法を探しています。) ...

Admin

Bourneシェルと互換性のある「${#string}」では、文字列の「長さ」はどのくらいですか?
bourne-shell

Bourneシェルと互換性のある「${#string}」では、文字列の「長さ」はどのくらいですか?

~からこれ議論する: 私は(zsh 5.8、bash 5.1.0) var="ASCII" echo "${var} has the length ${#var}, and is $(printf "%s" "$var"| wc -c) bytes long" 答えは簡単です。 5文字で5バイトを占めます。 今var=Müller、出力は Müller has the length 6, and is 7 bytes long これは${#}、演算子がバイトではなくコードポイントを計算することを示します。これは少し不明です。POSIXでは、彼らは「文字」...

Admin

telnetd を含むコマンド復号化のヘルプ
bourne-shell

telnetd を含むコマンド復号化のヘルプ

コマンド復号化のヘルプ [ $1 -ge 20 ] && telnetd -p 233 -l /bin/sh わかりました/bin/shBourneシェルで、telnetdはTelnetデーモンですが、どのように連携するのかわかりません。誰かがバックドアを開こうとしているようですが、他のコマンドがどのように連携するのかわかりません。 ありがとう ...

Admin

zshとBourne Shellの間の環境変数の共有(crontab用)
bourne-shell

zshとBourne Shellの間の環境変数の共有(crontab用)

.zshrcにJAVA_HOMEを設定しました。 export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64/jre/ これは対話型プログラムに適しています。しかし、Bourneシェルを使用するcronを介して実行されるJVMプログラムがあります。 Bourne Shellプログラムは引き続き以下を提供します。 groovy: JAVA_HOME is not defined correctly, can not execute: /usr/lib/jvm/default-java/bin/java この問題を解...

Admin

SSHセッション後のCase文の構文エラー
bourne-shell

SSHセッション後のCase文の構文エラー

#!/bin/sh echo -n "Enter the raspberry ip address you want to connect:" read Rasp_id sshpass -p "the@Donut" ssh -t -X -oStrictHostKeyChecking=no pi@$Rasp_id << E2 echo -e "Enter the case you want to echo\n 1.1 a \n 2.1 b" read option case "\$option" ...

Admin

シェルスクリプトを使用してPython環境に入り、いくつかのPythonコマンドを実行して通常の端末に戻る方法
bourne-shell

シェルスクリプトを使用してPython環境に入り、いくつかのPythonコマンドを実行して通常の端末に戻る方法

申し訳ありません。タイトルがはっきりしない場合があります。私の疑いの完全な説明は次のとおりです。以下のシェルスクリプトを作成しており、上記の出力を期待しています。 #!/bin/bash python3 print("Hello World") exit() echo "The execution is completed" 私が期待する出力は、python3インタプリタに行き、コマンドを実行する必要があり、print手動exit()で実行するexit()と、コマンドを実行した後にインタプリタが終了してからコマンドを実行することですただし、実行後echoは...

Admin

文字列に\ nを挿入する方法
bourne-shell

文字列に\ nを挿入する方法

デモ目的で秘密鍵を生成しています。 $ openssl genrsa -----BEGIN RSA PRIVATE KEY----- MIIEogIBAAKCAQEAvB8fZFRS83Kztend5KO9cnWXaqLWot0qLDeLcS8ly718FUdm 3VcCY5j737zz4iwmFf3b20Q2XxlbYC/M13wTJzHBf2d1mRDlpZq7CgX/JSEUW/Hr uXiF6PI+ypkvskyoQcz04rlT8skd7tanXhXINnLwW7gCiNlxQQFkrpfO8Fkh+vYL ... Ewac3GAh9CiMikQ...

Admin