Size: a a a

2018 May 15

D

Dima in pro.bash
Tetyana K
Если это файл, то в первой строке надо:
#!/bin/bash
у меня они  и так работают
источник

D

Dima in pro.bash
источник

D

Dima in pro.bash
Tetyana K
Если это файл, то в первой строке надо:
#!/bin/bash
скрипты у меня запускаются по ./script.sh без всяких shell bang.
источник

KG

Kirill Geyzerov in pro.bash
Это потому что ты уже в шелле
источник

D

Dima in pro.bash
Kirill Geyzerov
чтобы присвоить результат нужно
VAR=`echo "hello wrot"`
VAR=$(echo "hello wrot")
ништяк. Понял.
источник

D

Dima in pro.bash
короче вот,  X= ничего не присваевает.
источник

D

Dima in pro.bash
Tetyana K
И поменять файл на executable
я даже не знаю зачем shell bang нужен, наверно что просто воодить имя скрипта и он заводился.
источник

KG

Kirill Geyzerov in pro.bash
X= присваивает пустую строку
источник

D

Dima in pro.bash
Kirill Geyzerov
X= присваивает пустую строку
хорошо, почему тогда срабатывает [ -z $x ]?
источник

TK

Tetyana K in pro.bash
Dima
хорошо, почему тогда срабатывает [ -z $x ]?
Потому что это true, когда x пустая строка
источник

KG

Kirill Geyzerov in pro.bash
> я даже не знаю зачем shell bang нужен, наверно что просто воодить имя скрипта и он заводился.

Для того, чтобы shell знал, какой именно интерпретатор запускать. Ведь это может быть интерпретатор того же руби или питона. Или какой-то конкретной версии интерпретатора
источник

D

Dima in pro.bash
Tetyana K
Потому что это true, когда x пустая строка
понял.
источник

TK

Tetyana K in pro.bash
Kirill Geyzerov
> я даже не знаю зачем shell bang нужен, наверно что просто воодить имя скрипта и он заводился.

Для того, чтобы shell знал, какой именно интерпретатор запускать. Ведь это может быть интерпретатор того же руби или питона. Или какой-то конкретной версии интерпретатора
В догонку, если у тебя, например, в шебанге путь к пайтоновскому бинарнику, то тебе не надо для запуска писать: python script_name
Можешь просто: ./script_name
источник

KG

Kirill Geyzerov in pro.bash
Например
#!/bin/sh — это устаревший интерпретатор, в нем нет многих команд

#!/bin/bash — а это моднявый баш

И то, и другое имеет расширение .sh
источник

D

Dima in pro.bash
Kirill Geyzerov
Например
#!/bin/sh — это устаревший интерпретатор, в нем нет многих команд

#!/bin/bash — а это моднявый баш

И то, и другое имеет расширение .sh
слово моднявый это 5+ :)
источник

TK

Tetyana K in pro.bash
Тссс, в Линуксе вообще похер на расширения :)
источник

D

Dima in pro.bash
чем Bourne shell и Bash shell отличаются я знаю.
источник

KG

Kirill Geyzerov in pro.bash
Tetyana K
Тссс, в Линуксе вообще похер на расширения :)
Да, кстати. Расширение в линухе вообще ничего не значит. Только некоторые проги могут как-то это использовать. Особенно это касается media-файлов типа фоток или музыки.
источник

KG

Kirill Geyzerov in pro.bash
Поэтому твой скрипт может иметь даже такое имя
my.fucking.awesome.jpeg
источник

KG

Kirill Geyzerov in pro.bash
о_О
источник