タグ付けされた質問 「sh」


3
sh -cコマンドとは何ですか?
sh -cコマンドを発見しました。ここに投稿する前にそれを見つけましたが、それを説明するGoogleからの投稿を見つけることができません。
30 sh 


1
シェルスクリプトの$ {0%/ *}は何をしますか?
これが愚かな質問であれば申し訳ありませんが、私はそれについて検索しましたが成功しませんでした。 正確に2行目は何をしますか?: #!/bin/sh cd ${0%/*} || exit 1 最初はシェバンで、2番目はディレクトリを変更しようとしますが、混乱する部分は${0%/*}です。 二行目を説明してもらえますか?
17 command-line  sh 

2
誤って変更された `/ bin / sh '
私はこのスクリプトを持っていました: spd-say "Hello, don't forget the trash bin." だから私は何をすべきかを思い出し、それを移動して/usr/local/bin/コマンドtrashが引数を発音し、crontabジョブを設定して、やりたいことを毎日思い出させました。しかし、crontabは機能せず、その理由を理解できませんでした(他のジョブを問題なく実行します)。 私の端末でこのメッセージを見たら: You have new mail in /var/mail/root 最後に、この行は私に悪い間違いをさせました: /bin/sh: 1: trash: not found 私はそれが愚かなことであることを知っていますが、私はしました: mv /usr/local/bin/trash /bin/sh それshがディレクトリだと思って、スクリプトを実行するためにそこに移動する必要があります。 さて、マニュアルページを見たいとき、システムはこう言います: 「こんにちは、ごみ箱を忘れないでください。」 そしての出力cat shは次のとおりです。 #!/bin/bash spd-say "Hello, don't forget the trash bin. " とにかく、私は何かをすることができますか、またはオペレーティングシステムを再インストールする必要がありますか?
16 scripts  sh 


1
sh:0:不正なオプション-
Ubuntuで以下のコマンドを実行しようとすると: sudo -n -u contd sh --login -c ". /home/contd/iib-10.0.0.5/server/bin/mqsiprofile;/home/contd/iib-10.0.0.5/common/jdk/jre/bin/java -cp $CLASSPATH:$MQSI_JREPATH//usr/share/ant/lib/ant-antlr.jar:/usr/share/ant/lib/ant-apache-bcel.jar:/usr/share/ant/lib/ant-apache-bsf.jar:/usr/share/ant/lib/ant-apache-log4j.jar:/usr/share/ant/lib/ant-apache-oro.jar:/usr/share/ant/lib/ant-apache-regexp.jar:/usr/share/ant/lib/ant-apache-resolver.jar:/usr/share/ant/lib/ant-apache-xalan2.jar:/usr/share/ant/lib/ant-commons-logging.jar:/usr/share/ant/lib/ant-commons-net.jar:/usr/share/ant/lib/ant-javamail.jar:/usr/share/ant/lib/ant-jdepend.jar:/usr/share/ant/lib/ant-jmf.jar:/usr/share/ant/lib/ant-jsch.jar:/usr/share/ant/lib/ant-junit.jar:/usr/share/ant/lib/ant-junit4.jar:/usr/share/ant/lib/ant-launcher.jar:/usr/share/ant/lib/ant-swing.jar:/usr/share/ant/lib/ant-testutil.jar:/usr/share/ant/lib/ant.jar:/usr/share/ant/lib/jsch.jar:/usr/share/ant/lib/junit.jar -Djava.ext.dirs=/home/contd/iib-10.0.0.5/common/jdk/lib:/home/contd/iib-10.0.0.5/common/jdk/jre/lib/ext -Dant.home=/usr/share/ant org.apache.tools.ant.Main -f /home/contd/AntScript/build_main.xml" 私はこのエラーを受け取ります: sh: 0: Illegal option -- 上記のコマンドはLinuxでサポートされることになっていますが、同じソリューション(Antスクリプト)をUbuntuで実装しようとすると、この問題に直面します。
10 command-line  sh 

4
/ bin / shリンクを一時的に変更する
私は/bin/shBashである必要のあるソフトウェアを持っていますが、UbuntuのデフォルトはDashであり、それをデフォルトのままにしておきたいです。永久にBashに変更したくありません。 実行中のターミナルセッションに対してのみ変更する方法はありますか?したがって、このターミナルで実行されているプログラムは/bin/shbashにリンクされているように見えますが、システムの残りの部分はまだDashを認識していますか?または、ソフトウェアをだまして/bin/shBashとして認識させることはできますか? 私はこのソフトウェアを作成せず、/bin/bash代わりに使用するためにそれをハッキングすること/bin/shは本当にオプションではありません。
9 command-line  bash  sh 

2
shファイルの実行時に権限が拒否されました
私のminecraftサーバーコンソールで簡単に画面を開始するためにshファイルを使用しようとしています。このファイルにmc.shという名前を付けました。mc.shと同じディレクトリに、正常に動作する別のshファイルがあります。 mc.shの内容は次のとおりです。 screen -S minecraft java -Xms1024M -Xmx1024M -jar spigot.jar nogui 他のshファイルの内容は次のとおりです。 #!/bin/sh java -Xms512M -Xmx1024M -XX:MaxPermSize=128M -jar spigot.jar 私が得るエラーメッセージは-bash: ./mc.sh: Permission deniedです。の権限mc.shは-rw-rw-r-- 1


1
IPに応じてデフォルトのプリンターを設定する
セットアップ: 私は2つの場所でノートブックを使用しています。各場所で、コンピューターはDHCPを介してIPアドレスを受け取ります。このIPアドレスは場所によって異なりますが、場所ごとに一定です。さらに、各場所にはプリンターがあります。 仕事: 両方のプリンターを構成しましたが、IPに従ってデフォルトのプリンターを設定したいと思います。この目的のために、スクリプトを作成し、それをの下/etc/network/if-up.d/set-default-printerに置いて、lpoptions -d実際にデフォルトのプリンターを設定します。 脚本: #!/bin/sh ip_A="1.1.1.1" ip_B="2.2.2.2" pr_A="Printer-A" pr_B="Printer-B" ip=$(hostname -I | cut -d " " -f 1) if [ $ip = $ip_A ]; then lpoptions -d $pr_A touch /home/user/A fi if [ $ip = $ip_B ]; then lpoptions -d $pr_B touch /home/user/B fi 問題: 残念ながら、デフォルトのプリンターはスクリプトによって変更されません(lpoptions追加の引数なしで確認できます)。 さらなる診断: スクリプトは、コンテンツを貼り付けるか、コマンドラインから呼び出すだけで機能します。 …
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.