Я нічого не ставив Удар, і це те, що коли я потрапляю в дивовижний світ Python, я трохи забув про цього іншого друга, який мені так допоміг 🙂
Тут я щось доклав до ентузіастів Bash, як сказано в назві ... Я покажу вам, як перевірити, чи існує файл чи папка в системі, просто використовуючи: if
Ми збираємося створити файл .sh і надати йому дозволи на виконання, для цього просто вкладіть таку команду в термінал:
touch test.sh && chmod + x test.sh
Що це зробило, це створило файл (сенсорний тест. ш), а також надає вам дозволи на виконання (chmod + x test.sh)
Тоді давайте напишемо в ньому таке:
if [ -d /opt/ ];
then
echo "Sí, sí existe."
else
echo "No, no existe"
fi
Що це робить?
Простий 😀
У першому рядку - » якщо [-d / opt /];
Тут ми запитуємо, чи існує каталог / opt /? Так каталог / папка, тому що -d означає каталог або папку.
Тоді, якщо вона існує, ми надрукуємо в терміналі «Так, воно існує.»(Це рядки 2 та 3)
В іншому випадку та / opt / НЕ існує, тоді ми надрукуємо «Ні, це не існує»(Рядки 4 та 5)
Потім в останньому рядку (номер 6) ми закриваємо if і все.
Зробіть тест, він покаже вам, що / opt / існує.
Якщо ви хочете, щоб я показав вам інший текст (той, який не існує), змініть / opt / для будь-якої іншої папки, яка не існує у вашій системі, наприклад: / asd /
Як бачите, -d допомагає нам дізнатися, чи існує каталог, а тепер, якщо ми змінимо -d на -f, це перевірити наявність файлів (-d = каталог, -f = файл / файл)
Наприклад:
if [ -f /etc/hosts ];
then
echo "Sí, sí existe."
else
echo "No, no existe"
fi
Ось список варіантів:
-d - »Перевірте, чи існує певний каталог
-f - »Перевірте, чи існує певний файл
-w - »Перевірте, чи певний файл має дозволи на запис
-x - »Перевірте, чи певний файл має дозволи на виконання.
Ну і тут не можна набагато більше додати 🙂
Я знаю, що це буде дуже корисно та цікаво для тих, хто любить програмувати на Bash 😉
привіт
Ще один спосіб зробити це без якщо… тоді .. інше:
test -f /etc/hosts && elcomando
Або також
test ! -f /etc/hosts && echo "no se encontró el archivo"
І т.д.
Вправо 😀
... O_O ... Ти Гюго, Гюго з Куби? … Використовуючи Windows8, WTF !!!
Ну так, я знайомлюсь із цією ОС, і якщо я повинен бути відвертим, єдине, що мені здалося корисним, - це менеджер копій, інакше мені особисто це боляче, особливо гібридний інтерфейс та програми метро. Мені подобається менше, ніж Vista і 7 (хоча і трохи ефективніші, ніж ці), що мені теж не сподобалось. Єдине, для чого я його використовую, це грати в NFS13 і Skyrim, але ця ОС займає стільки місця, що мені довелося видалити свій розділ Linux [snif].
Однак для вашого спокою я скажу вам, що позавчора я завантажив Arch Arch на січень і планую провести невеличку перевірку у своїй версії x86-64, як тільки отримаю репо (чи буде у вас?). Тепер, коли я побачив, що за замовчуванням він використовує підписані пакети, це дає мені більше впевненості, щоб зануритися.
І мій батько також сказав мені, що він надішле мені Sony Xperia, яким я хочу скористатися, щоб навчитися деякому програмуванню для Android, що було очікуваним бажанням. Тож заспокойтесь, я ще не пішов на темну сторону сили, буахахахаха 😉
тест людини
Звичайно.
Венас! ..
Ми могли б зробити той самий .. .. але каталог передається як параметр ..
if [ -d $1 ];
then
echo "Sí, sí existe."
else
echo "No, no existe"
fi
І ми називаємо це як:
./test.sh / opt /
Привітання ..
IF не є циклом xD
Мені це підходить як рукавичка для сценарію, який я роблю. Чи допустимо використовувати символи підстановки? Наприклад, щоб з’ясувати, чи є .mp4, то запустіть щось на них.
якщо [-f * .mp4];
...
Так, це цілком дійсне ..
Навіть через параметри .. "* .mp4"
Наприклад,
if [ -f $1 ];
then
rm -r $1
else
ls
fi
Якщо ви зателефонуєте: ./test.sh * .mp4
Якщо він знаходить файли .mp4, він видаляє їх ... ... але файли в цьому каталозі не відображаються ...
Дякуємо за відгуки та поради! 🙂
Ви пропустили f xD
rm -rf $ 1
Це більш захоплююче!
Чудово !!!, З кожним днем я все більше закохуюся в Linux, Windows переноситься в якийсь темний куточок мого жорсткого диска, який ось-ось буде стерто, щоб дати місце світлу Linux.
Чудово! .. .. тоді зробіть наступний крок .. і вийміть ..
6 місяців тому приблизно У мене є тільки GNU / Linux на всіх моїх машинах, і мені не потрібно більше .. ..не W $ .. або Wine .. ..і я більш ніж задоволений таким .. 😉
І я заражаю своє оточення .. оскільки всі бачать мене за допомогою моєї Arch, швидкої, ефективної та щасливої .. ..і просять мене встановити Linux .. .. так! .. 😀
Ви також можете перевірити їх на наявність різних розширень, ви можете використовувати щось на зразок
#! / бін / баш
Каталог = $ HOME / Завантаження
якщо [$ Каталог]; тоді
echo "Ось список типів файлів:"
echo "mp1, mp2, mp3, mp4, wav, flac, flaad, aud, midi"
ls {* .mp ?, *. wav, *. fla, *. aud * .midi}
fi
використання {} дозволяє вказати кілька розширень у цьому випадку, використання "?" , є узагальнюючим знаком, що дозволяє взяти "Будь-який символ".
Сподіваюся, це допоможе вам
Я рекомендую команду find [каталог] [шаблон_пошуку] –exec [команда] {} \
Це не працює, я помістив ці файли в каталог:
AB20160420.TXT
AB20160421.TXT
AB20160422.TXT
AB20160423.TXT
AB20160424.TXT
AB20160425.TXT
search.sh
#! / бін / баш
ШЛЯХ = / tmp / TEST
cd $ МАРШРУТ
ls -la | awk '{друк »« $ 9} »
якщо [[-f AB.TXT]]; тоді
echo »Введіть IF, якщо є AB.TXT »
fi
якщо [-f AB20160422.TXT]; тоді
echo "введення для певного файлу AB"
fi
коли я ставлю [-f AB.TXT] видає помилку
коли я ставлю [[-f AB.TXT]] не видає помилку, але не може знайти файл
це працює лише тоді, коли я розміщу певний файл, наприклад:
якщо [-f AB20160422.TXT]; тоді
Я не можу змусити його працювати з узагальнюючими знаками * або?
#! / usr / bin / env bash
#.кодування = utf-8.
КОНСТАНТИ
EXIT_OK = 0
EXIT_BAD = 66
СМІСТИЙ = »\ 033 [1м»
NC = »\ 033 [0м»
ЧЕРВОНИЙ = »\ 033 [31м»
якщо [! "1 долар"];
потім
echo "відсутній параметр"
вихід $ EXIT_BAD
fi
компакт-диск "$ 1"
files = »ls -h1 $ 1»
для файлу в $ ($ files); робити
echo -e "Ви можете зробити що завгодно з $ BOLD $ file $ nc тут"
зроблений
вихід $ EXIT_OK
@KZ, розкажи більше про це: "і це тому, що я потрапляю в дивовижний світ Python"!
ХАХАХАХА, ні ... потроху 🙂
Я все ще просто новачок у Python, навряд чи встигаю приділяти йому години і години, тому я повільний так, повільний, але впевнений у своєму навчанні 😀
Щиро дякую 😀 буквально вчора я думав, як це зробити.
це з ncurses чудово 🙂
одним словом ... ВІДМІННО!
Довгий час я вдосконалював сценарій для завантаження з Інтернету, але у мене була проблема, що він завантажував файли, які вимагав 1 і знову, не маючи можливості перевірити існування 1ro.
Дуже хороший Tuto.
Величезний внесок, тут з Чилі цінується.
Щодня LINUX мене приємно дивує,
Хай живе безкоштовне програмне забезпечення MIERDAAAA.
служити для
перевірити, чи файл з каталогу
Якщо я хочу перевірити наявність будь-якого файлу в шляху «/ tmp / приймачі», виконайте будь-яку команду, як би це було?
Буду дуже вдячний
привіт
Шановний, і за допомогою IF визначити, чи файл заповнений повністю ???. Я запитую це, тому що, коли ви заповнюєте файл для передачі, він може взяти його навіть з половиною даних.
Вітаю та дякую за вашу відповідь.
Ну, думаю, вам слід також додати приклад, наприклад, "Переконайтесь, що немає" файлу "або" каталогу ", як наприклад
щоб перевірити, чи НЕ існує, наприклад, використовуйте змінну->
Каталог
#! / бін / баш
Каталог = »$ HOME / Тестовий каталог»
Файл = »$ HOME / Тестовий файл»
якщо [! -d "$ Каталог"]; тоді
echo "Немає $ каталогу"
echo "Створення ->" $ Каталог "
mkdir "Каталог $"
ще
echo "Каталог" $ Directory "вже існує
fi
якщо [! -d "$ Файл"]; тоді
echo "Файл $ не існує"
echo "Створення ->" Файл $ "
торкніться "$ File"
ще
echo "Файл" $ File "вже існує
fi
коли ви виконуєте перевірку mkdir пізніше, чи зможе термінал створити його, тому що він може зламати кульки, якщо це папка як root або система hhah
Привіт KZKG ^ Гаара запит, як би я зробив, щоб використовувати завивку. Я хотів би знати, як я працюю з консолі, щоб перевірити URL-адресу, щоб перевірити, чи вона доступна, наприклад http://portal.com/directorio/archivo1.php Там, де файл1 зберігатиме IP-адреси відвідувань, саме для моніторингу команди мені потрібно робити цей штифт кожні півгодини, щоб я був обізнаний про загальнодоступний IP, оскільки час від часу він змінюється, і я не можу встановити зв’язок через ssh.
Вітаємо заздалегідь спасибі, Бог благословить вас.
Привіт як це відбувається
По-перше, ви повинні сказати, що змінна IP (наприклад) є вмістом цього файлу, для цього вам потрібно:
1. Завантажте файл
2. Перегляньте його вміст та отримайте звідти IP
3. Цей IP є змінною
Наприклад:
Тут ми завантажуємо файл - »wget http://portal.com/directorio/archivo1.php -o файл.html
Потім ми призначаємо змінній її вміст: - »: $ {IP: =` cat file.html`}
.. припускаючи, що вміст цього файлу має лише IP, якщо ні, то вам доведеться працювати з grep, awk або head.
Як тільки ви вже маєте ІР як змінну, решта - це найпростіша річ у світі 🙂
Якщо хочете, напишіть мені на електронну пошту (kzkggaara[at]desdelinux[dot]net) З радістю допоможу
Щиро дякую kzkggaara дуже вдячний.
Привіт, я мало що розумію в обчислювальній техніці, і я не знаю, чи пов’язана ця публікація з моєю проблемою.
Я коментую на випадок, якщо ви мене прочитаєте, хоч допис від року тому:
Виявляється, я створив на робочому столі папку для зберігання деяких відео. Ну, я видалив ці відео, тому що вони мені більше не потрібні, і тепер ця папка повідомляє мені, що воно не існує (хоча це видно на моєму робочому столі).
- Це перша у мене проблема:
Я не можу видалити папку.
- Друга проблема, і я вважаю важливішим:
Намагаючись видалити папку, я помістив папку ФОТО. Тепер, коли я відкриваю папку, яка "не існує", вона порожня, а ФОТО немає.
Як я можу відновити фотографії? Я дав можливість всередині папки "Показати приховані документи", але папка ФОТО не відображається.
Сподіваюся, ви можете знати, як це вирішується.
Спасибо.
Є два основних користувача: root і your_user (наприклад, Natalia). В обох є особисті папки. ваш_користувач у / home та root у / (кореневий каталог). Клацнувши правою кнопкою миші на папці, ви побачите, кому вона належить. Якщо у вашому файловому менеджері це root, використовуючи sudo або gksu або kdesu, залежно від середовища, яке ви використовуєте, перейдіть до кореневого каталогу -> root -> Desktop, і ви, ймовірно, знайдете фотографії та зможете видалити папку. Деякі дистрибутиви, коли ви не є власником файлу або каталогу і у вас немає дозволів на доступ, повідомляють, що каталог / файл не існує. Якщо ви є власником і у вас немає прав користувача, зробіть те ж саме з файловим менеджером за допомогою sudo тощо і перейдіть до кореневого каталогу -> / home -> personal_folder -> Робочий стіл і перевірте, чи є там фотографії, і чи можете ви їх видалити папку.
Якщо це не спрацює, вам доведеться переглянути інші опції з терміналу (консолі).
Привіт, як справи? Я роблю роботу в bash, і я хотів би знати, як перевірити, чи є з клавіатури введений каталог, наприклад
#! / бін / баш
прочитати маршрут
#Enter ~ / Desktop
# Потім я намагаюся орієнтуватися в цьому каталозі
cd $ шлях
# Я отримую таке повідомлення bash: cd: ~ / Desktop: Файл або каталог не існує
Моє питання полягає в тому, що я можу зробити, щоб я ввів його з клавіатури і прийняв як шлях до каталогу?
І як я можу знати, чи існує група,
добре У мене є проблема в моєму canaima, коли я натискаю кнопку cunaguaro, там сказано, що немає файлу чи каталогу, як це було б зроблено для вирішення цієї проблеми, а решта не відкриває cunaguaro, будь ласка, дякую.
Як зробити if у BASH, якщо в назві файлу є пробіли?
Наприклад:
Квітневі дані.xlsx
Щоб запитати, чи існує файл
Карлос, ось так:
якщо [["$ змінна" == Дані \ місяць \ з \ квітня.xlsx]]; потім луна "збіг"; fi
Ви також можете:
if [["$ variable" == 'Дані за квітень.xlsx']]; потім луна "збіг"; fi
Інший варіант:
[["" $ Variable "== 'Дані за квітень.xlsx']] && echo 'збіги' || echo 'не відповідає'
У деяких темних областях Інтернету вони рекомендують використовувати [[]] замість [], і якщо ви збираєтеся порівнювати числа, тоді: ((змінна> = 3)) && echo 'змінна більше або дорівнює 3' | | echo 'змінна менше 3'
Отже, для чисел:
if ((число! = 4)); тоді луна "$ {число} не 4"; інакше ехо "$ {число} дорівнює 4"; fi
як ви можете зробити код для перевірки, якщо каталог має певний текст, щоб мати можливість його редагувати.
приклад:
якщо (text1)
нічого не робити
ще
змінити text1 на text2
питання, як було б перевіряти кожні 15 секунд, якщо файл існує чи ні, дякую.
Привіт
це:
якщо [-w / home / Komun / Logs / ti]; тоді
Дізнайтеся, чи файл можна записати. Але це базується на дозволах користувача. Чи можна це зробити, щоб з’ясувати, чи має група чи інші дозволи?