User Tools

Site Tools


средства_программирования_shell

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
средства_программирования_shell [2024/06/19 13:13]
val [Отправка email с вложениями]
средства_программирования_shell [2025/05/15 09:12] (current)
val [Отправка email с вложениями]
Line 10: Line 10:
   * [[https://​www.tutorialspoint.com/​execute_bash_online.php|Execute Bash Shell Online]]   * [[https://​www.tutorialspoint.com/​execute_bash_online.php|Execute Bash Shell Online]]
   * [[https://​www.shellcheck.net/​|ShellCheck finds bugs in your shell scripts.]]   * [[https://​www.shellcheck.net/​|ShellCheck finds bugs in your shell scripts.]]
 +
 +  * [[http://​redsymbol.net/​articles/​unofficial-bash-strict-mode/​|Use Bash Strict Mode (Unless You Love Debugging)]]
  
 ===== Проверка синтаксиса ===== ===== Проверка синтаксиса =====
Line 192: Line 194:
  
 <​code>​ <​code>​
-cat log_gen.sh +bash -c 'cat <<END >log_gen.sh
-</​code><​code>​+
 while : while :
 do do
Line 199: Line 200:
   logger -t cisco -p local0.info "​Message 2"   logger -t cisco -p local0.info "​Message 2"
 done done
 +END'
 </​code><​code>​ </​code><​code>​
-$ sh cisco_log_gen.sh+$ sh log_gen.sh
 </​code>​ </​code>​
 ===== Примеры использования скриптов sh в системах загрузки ===== ===== Примеры использования скриптов sh в системах загрузки =====
Line 418: Line 420:
 #  echo `date` OK $filename on `hostname` >> $log #  echo `date` OK $filename on `hostname` >> $log
   echo -e "​HTTP/​1.1 200 OK\r"   echo -e "​HTTP/​1.1 200 OK\r"
-  echo -e "​Content-Type:​ $(/​usr/​bin/​file -bi $filename)\r"​+  echo -e "​Content-Type:​ $(/​usr/​bin/​file -bi "$filename")\r"
   echo -e "​\r"​   echo -e "​\r"​
   /bin/cat "​$filename"​   /bin/cat "​$filename"​
 else else
-#  echo "​$(date)"​ ERR $filename on "​$(hostname)"​ >> "​$log"​+#  echo "​$(date)"​ ERR "$filename" ​on "​$(hostname)"​ >> "​$log"​
   echo -e "​HTTP/​1.1 404 Not Found\r"​   echo -e "​HTTP/​1.1 404 Not Found\r"​
   echo -e "​Content-Type:​ text/​html;​\r"​   echo -e "​Content-Type:​ text/​html;​\r"​
Line 438: Line 440:
 ==== Ресурсы Web сервера на shell ==== ==== Ресурсы Web сервера на shell ====
 <​code>​ <​code>​
-# mkdir /var/www+# mkdir -p /var/www
  
 # cat /​var/​www/​index.html # cat /​var/​www/​index.html
Line 447: Line 449:
 </​html>​ </​html>​
 </​code><​code>​ </​code><​code>​
-# mkdir /​var/​www/​img+# mkdir -p /​var/​www/​img
 </​code>​ </​code>​
  
Line 467: Line 469:
 ==== Отправка email с вложениями ==== ==== Отправка email с вложениями ====
  
 +  * [[Утилита curl]]
   * [[https://​serverfault.com/​questions/​38919/​send-an-email-with-an-attached-file-using-telnet-or-netcat|Send an email with an attached file using telnet or netcat]]   * [[https://​serverfault.com/​questions/​38919/​send-an-email-with-an-attached-file-using-telnet-or-netcat|Send an email with an attached file using telnet or netcat]]
  
Line 474: Line 477:
 #!/bin/sh #!/bin/sh
  
-[ -f "​$1"​ ] || { echo Example: ./mail.bash attach_file_name;​ exit 1; }+[ -f "​$1"​ ] || { echo Example: ./mail.sh attach_file_name;​ exit 1; }
  
 EMAIL="​val@bmstu.ru"​ EMAIL="​val@bmstu.ru"​
Line 486: Line 489:
     echo "RCPT TO: <​$EMAIL>";​ sleep 1;     echo "RCPT TO: <​$EMAIL>";​ sleep 1;
     echo "​DATA";​ sleep 1;     echo "​DATA";​ sleep 1;
-    echo "​To:​$EMAIL"​ +    echo "To: $EMAIL"​ 
-    echo "​Subject:​ $1"+    echo "​Subject:​ $FILENAME"
     echo "​MIME-Version:​ 1.0 (mime-construct 1.9)"     echo "​MIME-Version:​ 1.0 (mime-construct 1.9)"
     echo "​Content-Type:​ $(/​usr/​bin/​file -bi $FILENAME); name=\"​$FILENAME\""​     echo "​Content-Type:​ $(/​usr/​bin/​file -bi $FILENAME); name=\"​$FILENAME\""​
средства_программирования_shell.1718792021.txt.gz · Last modified: 2024/06/19 13:13 by val