Виведення на екран
echo $змінна | рядок | "рядок $змінна"
#!/bin/bash
STR="Hello World!"
echo $STR
echo $PATH # змінна пошуку команд
echo "$PATH - змінна пошуку" # форматування рядка
echo 'hello' > filename.txt
echo 'hello' >> filename.txt
echo $PATH
це мета де система шукає виконувані файли-команди, наприклад python
whereis python
виведе всі місця, де знаходяться файли для пітона
cd ~ # домашня директорія
cd / # коренева директорія
cd dirname/subdir # зміна директорії
cd .. # підняття на рівень вгору
ls # короткий список
ls -l # повний список
ls -la # включаючи приховані файли
ls -lh # c коротким розміром
grep -rn 'string' # пошук файлів з рядком із зазначенням номера рядка
ls-la | grep 'substr' # пошук файлів і директорій, що містять підрядок
mkdir dirname
rm ./filename # видалення файлу
rm -R dirname # видалення директорії та її вмісту
nano ./filename # редагування файлу
ctrl+o - запис до файлу
ctrl+x - вихід із редактора
cat filename
виведення вмісту файлу
echo $PS1
PS1='>>>'
export PS1='<<<'
chmode +x ./filename # зробити файл виконуваним
chmod 777 ./filename # зміна прав на файл
chmod 667 -R dirname # зміна прав на вміст директорії
chown -R user:user dirname # зміна власника та групи директорії та всього вмісту рекурсивно
#!/bin/bash
#!/usr/bin/env python
>> > - перенаправляє у файл
| - з'єднує виведення однієї команди із введенням іншої
myscript # запуск команди (файлу) із системних директорій
./myscript # запуск файлу з поточної дерикторії
source ./myscript # запуск скрипту в поточній сесії терміналу (оболонки) shell у поточному процесі
. ./myscript # аналог попередньої команди
Використання точки говорить про поточну директорію (що не знаходиться в змінній PATH) без точки інтерпретатор шукатиме файл у $PATH.
Використання source дозволяє змінювати оточення оболонки, т.к. виконується не в новому процесі, як із звичайному запуску (без source).
cd() {
builtin cd ${1:+"$@"} # виконуємо оригінальну команду з параметрами
if [ -f "env.sh" ] # перевіряємо існування файлу
then
. ./env.sh # запускаємо файл
fi
}